一对一直播开发PHP源码

[复制链接]
查看: 3556|回复: 0
发表于 2019-9-29 17:03:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
phphtml结合实现二级联动。
一对一源码php开发中我们经常会遇到一些功能需要二级联动,二级联动就是说我们在选择一级select不同的option,下面的二级option的属性值在进行相应的变动。简言之就是两个select标签,选择第一个的时候,第二个自动带出相关联的数据。
一、Html
1.在一对一源码创建两个下拉框标签
上级标签读取返回数据,循环显示;
下级标签不设置数据值
代码如下:
```
<div class="control-group">
                <label class="control-label">一级(ID)</label>
                        <div class="controls">
                                <select class="select_2" name="guild_id" id="guildid">
                                        <option value="">请选择一级</option>
                                        <volist name="guildlists" id="v">
                                                <option value="{$v['id']}">{$v.name}</option>
                                        </volist>
                                        </select>
                                        <span class="form-required">*</span>
                                        </div>
                                </div>
                                <div class="control-group">
                                <label class="control-label">二级(ID)</label>
                                <div class="controls">
                                <select class="select_2" name="manage_uid" id="manageuid">
                                        <option value="">请选择二级</option>
                                </select>
                                <span class="form-required">*</span>
                        </div>
                </div>
```
2.在一对一源码点击上级下拉框切换数据:添加click事件,回调读取下级数据列表,ajax返回json
代码如下:
```
<script type="text/javascript" src="__PUBLIC__home/js/jquery.js"></script>
        <script>
        (function(){
                $("#guildid").change(function(){ //监听下拉列表的change事件
                        var address = $(this).val(); //获取下拉列表选中的值
                          //发送一个post请求
                          $.ajax({
                                        type:'post',
        url:'/index.php?g=Admin&m=Guildmanage&a=getManagelists',
                                        data:{guildid:address},
                                        dataType:'json',
                                        success:function(data){ //请求成功回调函数
                                          var status = data.status; //获取返回值
                                          var address = data.data;
                                          if(status == 200){ //判断状态码,200为成功
                                                var option = '';
//循环获取返回值,并组装成html代码
                                                for(var i=0;i<address.length;i++){
                                                  option +='<option value="'+address.user_id+'">'+address.user_nicename+'</option>';
                                                }
                                          }else{
//默认值
                                                var option = '<option>请选择下级</option>';
                                          }
//js刷新第二个下拉框的值
                                          $("#manageuid").html(option);
                                        },
                                  });
                        });
        })()
        </script>
```
二、Php
一对一源码中Ajax访问php地址,获取下级数据列表,返回json
//根据上级获取下级信息
```
function getManagelists(){
        $key = $_POST['guildid']; //获取值
```
//下级列表
```
$managelist=M("role_user")->field("user_id,guild_id")->where("guild_id=".$key." and role_id=6")->select();//下级
```
//可添加需要的逻辑代码
```
        $result['status'] = 200;
        $result['data']= $managelist;
        echo json_encode($result); //返回JSON数据       
        exit;
```
到此,php实现二级联动完成。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



 
 
工作时间:
8:00-18:00
客服热线:
15368564009
客服微信