ThinkPHP5:[⼆级联动与⼆级分类]⽬录
⼆级联动
数据表
静态
<div class="layui-form-item">
<label for="username"class="layui-form-label">
<span class="x-red">*</span>商品分类</label>
<div class="layui-input-inline">
<select name="pid" id="pid">
<option value ="">请选择分类</option>
{foreach $sql as $vo}
<option> value ="{$vo.id}">{$vo.class}</option>
{/foreach}
</select>
<select name="class" id="class1">
<option value ="0">请选择</option>
</select>
</div>
</div>
jQuery
<script>
$(function(){
$("#pid").change(function(){
var  pid=$('#pid').val();
$("#class1").empty();//清除原有的值不然会⼀直重复
$.ajax({
async:true,
type:"post",
url:"{:url('Commlist/ceshi')}",
data:{spid:pid},
dataType:"json",
thinkphp3
success:function(data){
console.log(data);
var i;
for(i =0; i < data.length; i++){
$("#class1").append("<option value='"+data[i].pid+"'>"+data[i].class+"</option>"); }
}
});
});
})
</script>
控制器
public function brandadd()
{
$db=db('class')->where('pid',0)->select();//⼀级
$id=input('spid');
// var_dump($id);
// dump($db);
$time=db('class')->where('pid',$id)->select();//⼆级  $this->assign('sql',$db);//⼀级
$this->assign('sqll',$time);//⼆级
return $this->fetch('commodity/brand/brandadd'); }
/* ⼆级下拉 */
public function ceshi()
{
$id=input('spid');
$time=db('class')->where('pid',$id)->select();
return $time;
}
⼆级分类
数据表
静态
<div class="layui-form-item">
<label for="username"class="layui-form-label">
<span class="x-red">*</span>上级分类</label>
<select name="topclass" required="" >
<option value="0">上级分类</option>
{foreach $class_list as $v}
<option value="{$v.id}">{$v.name}</option>
{foreach $v.item as $vs}
<option value="{$vs.id}">——{$vs.name}</option>
{/foreach}
{/foreach}
</select>
</div>
控制器
$class_list=db('topclass')->field(array('id','name'))->where(array('pid'=>0))->select(); foreach($class_list as $k=>$v){
$time=db('topclass')->where(array('pid'=>$v['id']))->select();
$class_list[$k]['item']=$time;
}
$this->assign('class_list', $class_list);