谁会thinkphp +AJAX 的二级联动下拉框 要连接数据库的 200

2298995850@qq.com因为是对AJAX一点都不会所以希望是一个已经做好的成品可以给我参考... 2298995850@qq.com
因为是对AJAX一点都不会 所以希望是一个已经做好的成品 可以给我参考
展开
 我来答
蒋主播1
2016-09-19
知道答主
回答量:23
采纳率:0%
帮助的人:12.3万
展开全部

html:

<div class="search-choice">
                    <div class="span2"><div class="span4 ben">选择日期:</div><input placeholder="请输入日期" class="laydate-icon span8" name="sd" id="sd"></div>
                    <div class="span2"><div class="span4 ben">到</div><input placeholder="请输入日期" class="laydate-icon span8" name="ed" id="ed"></div>
                        <div class="span3"><div class="span4 ben">选择产品:</div><select name="product_name" id="product_name" class="span8 select2_category" data-placeholder="请选择产品名称" tabindex="1">
                        <?=R('Base/cates',array("",3))?>
                    </select></div>
                    <div class="span3"><div class="span4 ben">选择计费ID:</div><select name="txtName" id="txtName" class="span8 select2_category" data-placeholder="请先选择产品名称" tabindex="2">
                        <option>请先选择产品名称</option>
                    </select></div>
                    <div class="span2"><span><input type="button"  value="查询" class="btn blue" id="search"></span></div>
                </div>

js:

window.onload = setTxt();
        $("#search").on('click',function(){
            load_data();
        });
        // initiate layout and plugins
        $("#product_name").on("change",setTxt);
        $("#txtName").on("change",function(){
            load_data();
        });
        /* window.onload = function(){
         $("#txtName").attr("disabled","disabled");
         }*/

 function setTxt(){
            var product_name = $("#product_name").val();
            if(!product_name){
                $("#txtName").html("<option>请先选择产品名称</option>").select2({
                    placeholder: "请选择",
                    allowClear: true
                });
                load_data();
                return;}
            $.ajax({
                url:"/Base/setTxtName",
                type:"post",
                data_type:"json",
                data:{product_name:product_name},
                success:function(data){
                    data = $.parseJSON(data);
                    if(data.status == 1){
                        var html = "";
                        if(data.data == ""){
                            html = "<option value=''>该产品下无数据</option>";
                        }else{
                            $.each(data.data,function(k,v){
                                html = html+"<option value='"+ v.txtname+"' control='"+v.id+"' income-type='"+ v.income_type+"'>"+v.txtname+"</option>";
                            });
                        }

                        $("#txtName").html(html).select2({
                            placeholder: "请选择",
                            allowClear: true
                        });
                        load_data(); //自动查询加载查询结果

                    }
                }
            });
        }

PHP:

  //无限极分类
    function cates($selected_id="",$selectedTable,$own=false)
    {
        $table = C("TABLE");
        $tbs = $table[$selectedTable];   //根据传参选择表,表信息写在配置中
        $cates = M("data_".$tbs["tb"]);
        $p=$cates->select();

        if(count($p)>0)
        {
            if($own === false){ //默认第一个
                echo '<option value=""></option>';
            }
            foreach($p as $o)
            {
                echo '<option value="'.$o["id"].'" data="'.$o[$tbs["fd"]].'"';
                if($selected_id==$o['id'])
                    echo('selected="selected" ');
                if($tbs["tb"] == "pay"){
                    if($o['type']==0){
                        echo('lx="1" ');
                    }else{
                        echo('lx="2" ');
                    }
                }
                echo('control="'.$o["id"].'">');
                echo($o[$tbs["fd"]]);
                echo '</option>';
            }
        }
    }

function setTxtName(){
        if(isset($_POST["product_name"]) && $_POST["product_name"]){
            $product_name = I("post.product_name");
            $bid = $_SESSION["admin"]["bid"];
            $uid = $_SESSION["admin"]["uid"];
            if($bid != 16 && $uid !=8){
                $where["uid"] = $uid;
            }
            $pkg = M("test_pkg");
            $where["product_name"] = $product_name;
            $where["isdelete"] = 0;
            $row = $pkg->where($where)->field("txtName,id,income_type")->select();
            echo json_encode(array("status"=>1,"data"=>$row));
        }
    }

效果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
荒冢孤魂奠心
2016-09-18 · TA获得超过300个赞
知道小有建树答主
回答量:323
采纳率:50%
帮助的人:140万
展开全部
然而,你还在伸手要源码
更多追问追答
追问
所以你都是用看  来确定一个人的吗
追答
这百度知道里  就i我一个人 ,不信我拿另外一个号回你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式