后台获取jS二级联动下拉框值的问题-------------在线等
- JScript code
var _location = new Array();_location[1] = "北京";_location[2] = "天津";_location[3] = "河北";_location[4] = "山西";_location[5] = "内蒙古";_location[6] = "辽宁";_location[7] = "吉林";_location[8] = "黑龙江";_location[9] = "上海";_location[10] = "江苏";_location[11] = "浙江";_location[12] = "安徽";_location[13] = "福建";_location[14] = "江西";_location[15] = "山东";_location[16] = "河南";_location[17] = "湖北";_location[18] = "湖南";_location[19] = "广东";_location[20] = "广西";_location[21] = "海南";_location[22] = "重庆";_location[23] = "四川";_location[24] = "贵州";_location[25] = "云南";_location[26] = "西藏";_location[27] = "陕西";_location[28] = "甘肃";_location[29] = "青海";_location[30] = "宁夏";_location[31] = "新疆";_location[32] = "香港";_location[33] = "澳门";_location[34] = "台湾";var _sub_location = new Array();_sub_location[1] = new Array();_sub_location[1][1001] = "东城区";_sub_location[1][1002] = "西城区";_sub_location[1][1003] = "崇文区";_sub_location[1][1004] = "宣武区";_sub_location[1][1005] = "朝阳区";_sub_location[1][1006] = "海淀区";_sub_location[1][1007] = "丰台区";_sub_location[1][1008] = "石景山区";_sub_location[1][1009] = "门头沟区";_sub_location[1][1010] = "房山区";_sub_location[1][1011] = "通州区";
。。。。
- JScript code
function bulid_select_normal(domid,data_array,def_value){ $('#'+domid).children().remove(); if(def_value == ''){ $('#'+domid).append('<option value="" selected="selected">请选择</option>'); }else{ $('#'+domid).append('<option value="">请选择</option>'); } $.each(data_array,function(key,val){ var s = ''; if(val != undefined){ if(key == def_value){ s = '<option value="'+key+'" checked selected="selected">'+val+'</option>'; }else{ s = '<option value="'+key+'" checked>'+val+'</option>'; } } $('#'+domid).append(s); }); }function bulid_select(domid,data_array,def_value){ $('#'+domid).children().remove(); $.each(data_array,function(key,val){ var s = ''; if(val != undefined){ if(key == def_value){ s = '<option value="'+key+'" checked selected="selected">'+val+'</option>'; }else{ s = '<option value="'+key+'" checked>'+val+'</option>'; } } $('#'+domid).append(s); }); }function getProvince(pro_array, city_array, data,city){ var res = ''; $.each(pro_array,function(key,val){ if(data == key){ if(city == 'city'){ res = ''; return false; }else{ res = key; return false; } } if(city_array[key] != undefined){ $.each(city_array[key],function(k,v){ if (v != undefined){ if(data == k){ if(city == 'city'){ res = k; return false; }else{ res = key; return false; } } } }); } }); return res;}function bulid_second(firstid,secondid,first_array,second_array,def_value){ var first_val = $('#'+firstid).val(); $('#'+secondid).children().remove(); if(first_val == '' || def_value == ''){ $('#'+secondid).append('<option value="" selected="selected">请选择</option>'); }else{ $('#'+secondid).append('<option value="">请选择</option>'); } if(first_val == '') return ; $.each(second_array[first_val],function(key,val){ var s = ''; if(val != undefined){ if(key == def_value){ s = '<option value="'+key+'" checked selected="selected">'+val+'</option>'; }else{ s = '<option value="'+key+'" checked>'+val+'</option>'; } } $('#'+secondid).append(s); }); }function getShowByVal(spanid,data_array,def_value){ var res = ''; $.each(data_array,function(key,val){ var s = ''; if(val != undefined){ if(key == def_value){ res = val; return false; } } }); $('#'+spanid).html(res);}
前台:
<SCRIPT type="text/javascript">
$(function () {
bulid_select_normal('citybornPro', _location, getProvince(_location, _sub_location, '', 'pro'));
bulid_second('citybornPro', 'citybornCity', _location, _sub_location, getProvince(_location, _sub_location, '', 'city'));
bulid_select_normal('citylivePro', _location, getProvince(_location, _sub_location, '', 'pro'));
bulid_second('citylivePro', 'cityliveCity', _location, _sub_location, getProvince(_location, _sub_location, '', 'city'));
});
</SCRIPT>
<tr>
<td>家乡:</td>
<td>
<SELECT id="citybornPro" onchange="bulid_second('citybornPro','citybornCity',_location,_sub_location,'')" name="citybornPro" class="select_1" runat="server"></SELECT> 省(直辖市)
<SELECT id="citybornCity" name="citybornCity" class="select_1" runat="server"></SELECT> 区(县)
</td>
</tr>
<tr>
<td>所在地区:</td>
<td>
<SELECT id="citylivePro" onchange="bulid_second('citylivePro','cityliveCity',_location,_sub_location,'')" name="citylivePro" class="select_1" runat="server"></SELECT> 省(直辖市)
<SELECT id="cityliveCity" name="cityliveCity" class="select_1" runat="server"></SELECT> 区(县)
</td>
</tr>
我aspx后台通过Request["citybornPro"],Request["citybornCity"]获取的值是数组里面的编号,
我想修改成直接获取中文值,不知道该怎么去修改。。。。。。。另外下拉框后台去读数据库的值也是显示不了
[解决办法]
s = '<option value="'+key+'" checked selected="selected">'+val+'</option>';
你找下js里面和这个差不多的语句
value="'+key+'" 改成value="'+val+'"
你request获取的是value,这里value都是key所以都是编号,把value都换成值就好了
[解决办法]
太长太乱,没仔细看。。
大致看了一下,你大概没搞清楚js中Array和对象的区别,
_sub_location[1]是_sub_location的第二个元素,
_sub_location[1][1001]是_sub_location[1]的第1002个元素,
另外像bulid_second('citybornPro','citybornCity',_location,_sub_location,''),没仔细看,不知道这几个变量加不加引号有没有区别