一对一直播开发PHP源码

  • 2019 年 10 月 10 日
  • 筆記

php、html结合实现二级联动。

一对一源码在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[i].user_id+'">'+address[i].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实现二级联动完成。