代码要实现的功能如下:当Select#selectA更改时,动态改变Select#type的选项,再跟据Select#type获取Select#typeBranch
$("Select#selectA").change(function () {
$("Select#type").empty();
var url = "/Admin/Type/GetType/";
$.getJSON(url, { aid: $("Select#selectA").val() }, function (data) {
$.each(data, function (i, item) {
if(item.selected==true)
$("<option selected='selected'></option>").val(item.Value).text(item.Text).appendTo
($("Select#type"));
$("<option></option>").val(item.Value).text(item.Text).appendTo
($("Select#type"));
});
});
$("Select#type")[0].selectedIndex = 1;
//alert($("Select#type").val());
$("Select#typeBranch").empty();
var url = "/Admin/Type/GetTypeBranch/";
$.getJSON(url, { sid: $("Select#type").val() }, function (data) {
$.each(data, function (i, item) {
$("<option></option>").val(item.Value).text(item.Text).appendTo($("Select#typeBranch"));
});
});
});
但是,现在的情况是,生成了Select#type的Option,但是Select#type无值,无法获取Select#typeBranch的Option。
如果alert($("Select#type").val());对话框为空,但是关闭对话框之后,Select#typeBranch获取成功,求解!!!
通过Json获取到的数据如下
[{"Selected":true,"Text":"工人","Value":"9d2a3f05-fa95-4bb7-b1f2-97a1386cbe94"}
,{"Selected":false,"Text"
:"农民","Value":"73ffc6c1-a68b-45b7-ba52-21a6c9620ac3"} ]
$.getJSON是异步,不会等到你服务器返回才执行下面的。
全部放在$.getJSON 里头。
另外不要用 $('select#type')获取,id获取是最快的,不要加标签类型,画蛇添足。
可以了,谢谢
我还以为标签#ID更快。。。受教了。。。
楼上正解
楼上正解