首先,看一下下下面的<DIV>元素

----------------------------------

<div class="filter">
   <span class="floatL sp_name">平台类型:</span>
    <?php echo select($pt_type_group,(isset($pt_moren)) ? intval($pt_moren) : 'null', 'onchange="ldone()" name="type_role" id="roleval" class="floatL select_2" style="width:85px;"');?>
 </div>

----------------------------------

<div class="filter">
    <span class="floatL sp_name">用户组:</span>
    <select id="se1" onchange="ldtwo()" name="info[type_id]" id="roleid" class="floatL select_2" style="width:85px;">
    </select>
</div>

在第一个div里有个下拉列表,PS:这个下拉列表是公司技术大牛自己封装的方法,在下拉列表select标签元素中,设置ID属性"roleval",并声明创建一个点击改变事件"onchange=函数名()"

点击效果为,点击第一个下拉列表,选中下拉列表中的值,第二个DIV中的下拉列表异步获取有后台PHP代码返回的二级下拉列表的数据(json格式的数组),并在第二个下拉列表中显示内容。

--------------------------------------

让我们先看看第一个下拉列表的点击事件onchange里面的代码内容

//ajax联动

//点击事件函数
function ldone(){
    //获取第一个下拉菜单选中的值
    var typerole = $("#roleval").val();

//本次选用jquery中的$.ajax({})来请求异步获取
    $.ajax({

  //请求类型
        type:"post",

  //请求的url地址和方法
        url:config.domain.localhost+"/care/get_ajax_group",

//返回的数据类型
        dataType:"json",
        //数据{变量名:变量值,用逗号隔开}
        data:{type:typerole},
        //如果成功访问并接收到数据
        success:function(data){
        //首先清空二级下拉列表
        $("#se1").empty();
        //声明一个字符变量,放入一个下拉列表选项元素作为初始
        var option = "<option value=''>"+"请选择"+"</option>";
        //将json格式的数据转换成数组
        var mod = eval(data);
        //进行遍历,类似于php的foreach,data是数据源,N是$key,value是$val
        $.each(data,function(n,value){
        var str = "";
        str +="<option value='"+value.id+"'>"+value.role_name+"</option>";
        option += str;
            });
        //给id为se1的下拉列表中赋值
        $("#se1").html(option);
            },

        error:function(msg){
            alert(msg);
            }
        });
};