下拉菜单联动显示(读数据库)

jerry thinkphp 2015年11月19日 收藏
点击最初的下拉菜单选择板块内容~然后读取数据库获取下级分类,然后jq输出分类的下级菜单~并且绑定同一个事件,修改后也许就可以应用到你们项目中;用jquery写的,第一次分享,觉得不好的请轻喷~~
js代码如下:
$(".js_type").live('change',function(){
        var _this=$(this);
        var _this_id=_this.attr('id');
        var url='<!--{:U("Lib/ajaxType")}-->';
        var $v=_this.val();
        _this.nextAll("select").remove();
        switch(_this_id){
            case 'js_plateid':{
                var data='plateid='+$v;
            } break;
            case 'js_pid': var data='uid='+$v; break;
        };
        $('<span>',{'class':'loadPtype'}).insertAfter(_this);
        $('.loadPtype').text("加载中...");
        $.ajax({
            'url':url,
            'type':'POST',
            'data':data,
            'success':function(data){
                var obj=jQuery.parseJSON(data);
                var option='';
                if(obj!=null){
                    switch(_this_id){
                        case 'js_plateid':{
                            var $new_select=$('<select>',{'class':'js_type','id':'js_pid'});
                        };break;
                        case 'js_pid':{
                            var $new_select=$('<select>',{'name':'subtypeid'});    
                        };break;
                    }
                    $new_select.insertAfter(_this);
                    $('.loadPtype').remove();
                    for(var i=0;i<obj.length;i++){
                        option+="<option value="+obj[i].typeid+">"+obj[i].typename+"</option>";
                    }
                    $new_select.html(option);
                }else{
                    $(".loadPtype").text('无二级分类');
                } 
            }
        });
    });
html代码:
<select class='js_type' id='js_plateid' >
<option value='0'>选择板块</option>
<option value='1'>板块1</option>
<option value='2'>板块2</option>
<option value='3'>板块3</option>
</select>