select 下拉联动跟php联动记录

这篇博客介绍了如何通过JavaScript的onchange事件和AJAX技术,实现在两个下拉选择框之间的联动效果。当用户在第一个下拉框中选择一个选项时,会触发AJAX请求,将选择的参数传递给PHP后台。后台根据接收到的参数处理数据,形成新的选项数组,并返回。然后前端接收到响应数据后,更新第二个下拉框的内容,从而达到联动显示的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想实现两个select下拉之间的联动
方法用的是onchange方法

 <div class="YanInput">
                                <select id="level" name="level" onchange="selectfun()">//自己定义一个方法函数
                                    <option selected="selected" >全部级别</option>
                                    <option value="蓝">蓝</option>
                                    <option value="黄">黄</option>
                                    <option value="红">红</option>
                                </select>
                            </div>

需要被改动的第二个下拉列表

 <div class="YanInput">
                                <select id="type" name="type">
                                    <option selected="selected">全部类别</option>
                                   <!--  <option value="墙体裂缝">墙体裂缝</option>
                                    <option value="墙砖脱落">墙砖脱落</option>
                                    <option value="墙面鼓包">墙面鼓包</option> -->
                                     <script type="text/javascript">
                                    $(document).ready(function(){
                                      var b = '{$types}'; //返回搜索状态女
                                      if(b!=null){
                                        $("#type").find("option[value='"+b+"']").attr("selected",true);
                                      }
                                    });
                                    </script>   
                            </select>                         
                        </div>

然后用ajax往后台传第一个选择的参数
先获取
在返回以后往第二个select里添加

<script type="text/javascript">
     function selectfun(){
        var params = {};
        params.num = $("#level option:selected").val();
        $.ajax({
            async: true,
            type: "POST",
            url: "../Common/getlevel",
            data: params,
            dataType: "json",
            success: function(data) {
                // alert(data);
             $("#type").html("");
             var tbodyinfo = '';
               for (var o in data) {
                 var l = data[o];
                 // alert(l);
                 var tr = " <option value="+l+">"+l+"</option>";
                 tbodyinfo += tr;
             }
            $("#type").html(tbodyinfo);
            }
        });
    }
</script>

后台写的方法数组

    public function getlevel(){
       $level =  $_POST['num'];
       $type = [];
       if($level=='蓝'){
        $type=['全部类别','零星破损'];
       }else if($level=='黄'){
        $type=['全部类别','疑似起鼓','疑似开裂','疑似变形'];
       }else if($level=='红'){
        $type=['全部类别','墙面起鼓','墙面开裂','墙体变形'];
       }
       $this->ajaxReturn($type,'json');
    }

然后就可以实现关联的效果!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值