三级联动 (html+js+php 实现三级联动下拉选择框)

效果图
这里写图片描述

HTML :

<!--选定分类-->
<form action="{:U('Classify/classify_detail',array())}" method="post" id="" name="myform" enctype="multipart/form-data">
    &emsp;&emsp;
    第一级分类
<select id="first" name="name_1" onchange="getAchild(this.value,this.id)">
    <option value="">----请选择---</option>
</select>
&emsp;
二级
<select id="second" name="name_2" onchange="getAchild(this.value,this.id)">
    <option value="">----请选择---</option>
</select>
&emsp;
三级
<select name="name_3" id="third">
    <option value="">----请选择---</option>
</select>
&emsp;&emsp;
<input class="submit" value="选定" type="submit">
</form>

JS:

//初始化数据
window.onload= function ()
 {
     $.post(
         "{:U('Classify/select_classify')}",
         {
             key:1
         },
         function (data){
             //confirm(data);
             var info=eval(data);
             for(var i=0;i<info.length;i++){
                // confirm(info[i].type_name);
                 var sel=$('#first');
                 sel.append("<option value='"+info[i].type_name+"'>"+info[i].type_name+"</option>");
             }

         }
     );
     return;
 };
//父级分类选定 获得子级分类数据
function getAchild(val,id) {
   // confirm(id);
    var  sel;
    if(id=='first'){
        $('#second').empty();//清空二级分类框
        sel=$('#second');
    }
    if(id=='second') {
        $('#third').empty();//清空三级分类框
        sel=$('#third');
    }
    $.post(
        "{:U('Classify/select_classify')}",
        {
            type_parent:val,
            key:2
        },
        function (data){
            //confirm(data);
            var info=eval(data);
            sel.append("<option  value=''>----请选择---</option>");
            for(var i=0;i<info.length;i++){
                // confirm(info[i].type_name);
                //var sel=$('#second');
                sel.append("<option value='"+info[i].type_name+"'>"+info[i].type_name+"</option>");
            }

        }
    );
}

PHP:

function select_classify(){
          if(empty($_POST)){
              $this->display('Classify');
          }else{
              $Classify=new ClassifyModel();

              if($_POST['key']==1){
                  $info=$Classify->query("select * from sp_classify where type_parent='0'");
                  $this->ajaxReturn($info);
              }
              if($_POST['key']==2){
                  $info=$Classify->query("select * from sp_classify where type_parent='{$_POST['type_parent']}'");
                  $this->ajaxReturn($info);
              }
          }
      }
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值