后台获取不到JS中添加的select控件的值;多级联动下拉框,如何在变动时清空所有子级

自己写的多级联动下拉框,省份部分有绑定数据

Ep_zone objZone = new Ep_zone();
 Zone zone = new Zone();
sleSheng.DataSource = zone.GetProvince();
sleSheng.DataTextField = "ZONENAME";
sleSheng.DataValueField = "ZONE";
sleSheng.DataBind();

第一个问题:后面的下拉框就是用JS通过AJAX附加的,,这种情况下在后台获取不到值(代码见最后一段),自己推测是因为在前台附加,所以获取不到值,但是完全找不到改的方向。

  第二个问题:最初用JS写的嵌套,所以用find("option").remove()可以清空所有子级的数据,现在只能清空下一级,这个要怎么修改呢?

JS部分:

 //地址级联选择
function sleZone(zone, subZone) {
    $.ajax({
        type: "POST",
        dataType: "json",
        url: "ZoneListHandler.ashx",
        contentType: "application/x-www-form-urlencoded; charset=utf-8",
        data: {
            getmethod: "GetSubZone",
            id: $("#" + zone + "").val()
        },
        success: function (record) {
            $("#" + subZone + "").find("option").remove();
            if (true == record.Successful) {
                for (var i = 0; i < record.obj.length; i++) {
                    $("#" + subZone + "").append('<option value="' + record.obj[i].Zone + '">' + record.obj[i].Zonename + '</option>');
                }
            }
        }
    })
}

前台部分:

 <span class="select-box size-MINI address">
                            <select id="sleSheng" class="select" runat="server" onchange="sleZone('sleSheng','sleShi');" onkeydown="KJkeydown('sleShi','txtRemark','form1');"></select>
                        </span>&nbsp;省&nbsp;
                        <span class="select-box size-MINI address">
                            <select id="sleShi" class="select" runat="server" onchange="sleZone('sleShi','sleXianQu');" onkeydown="KJkeydown('sleXianQu','sleSheng','form1');"></select>
                        </span>&nbsp;市&nbsp;
                        <span class="select-box size-MINI address">
                            <select id="sleXianQu" class="select" runat="server" onchange="sleZone('sleXianQu','sleZhenXiang');" onkeydown="KJkeydown('sleZhenXiang','sleShi','form1');"></select>
                        </span>&nbsp;县、区&nbsp; 
                        <span class="select-box size-MINI address">
                            <select id="sleZhenXiang" class="select" runat="server" onchange="sleZone('sleZhenXiang','sleCunShequ');" onkeydown="KJkeydown('sleCunShequ','sleXianQu','form1');"></select>
                        </span>&nbsp;镇、乡、街道&nbsp; 
                        <span class="select-box size-MINI address">
                            <select id="sleCunShequ" class="select" runat="server" onkeydown="KJkeydown('btnSave','sleZhenXiang','form1');"></select>
                        </span>&nbsp;村、社区&nbsp; 

后台部分:除了第一个sleSheng.value均获取不到值,Keys里只有三个

 obj_organ.Zone = sleSheng.Value + sleShi.DataTextField + sleXianQu.DataValueField + sleZhenXiang.Attributes.Keys + sleCunShequ.Value;

你确定这 $("#" + zone + "").val()有值吗,最好打印看看,感觉这地方有问题

1、后台是获取不到AJAX后期添加的数据的,鄙人有个比较粗糙的方法,把你选择的值赋值到隐藏控件里面,后台再去获取;
2、加了 runat="server" 标记 ID号在最后渲染时会改变的,你看看是不是这个问题