今天遇到一个问题就是我需要将省市县返回的数据放好在相应的五级下拉框中 我搜索相应的市县乡村出来后并不能让他设为默选状态一系列问题 我用的ajax函数 如下
function searchByParentid(id, Parentid) {
myajax = $.ajax({
type : "post",
url : basePath + "/region/searchByparentId.do",
dataType : 'json',
data : {
re_parent : Parentid,
},
success : function(data) {
var options = "";
$.each(data, function(index, item) {
options += "<option value=" + item.id + ">" + item.re_name
+ "</option>";
});
$("#" + id).html(options);
//$("#prov").find("option[value='13']").attr("selected",true);
//$("#prov").val(13);
},
error : function(data, type, err) {
alert("错误类型:" + type + "; 错误信息:" + err);
}
});
}
经过我查询发现 ajax 的默认状态是异步的状态 也就是 async: ture,是为异步 走这个的时候它并未走完 然后继续执行下面的方法
我需要让他执行完在走下面的方法 所以 我把状态改为async: false,改为了同步 然后事情就解决了
function searchByParentid(id,url, Parentid) {
$.ajax({
type : "post",
url : basePath + "/region/"+url+".do",
async: false,
dataType : 'json',
data : {
re_parent : Parentid,
},
success : function(data) {
var options = "<option value="">全部</option>";
$.each(data, function(index, item) {
options += "<option value=" + item.id + ">" + item.re_name
+ "</option>";
});
$("#" + id).html(options);
},
error : function(data, type, err) {
alert("错误类型:" + type + "; 错误信息:" + err);
}
});
}
*/
searchByParentid(provId);
// stringOption(providlist, provId);
if (cityParentId != null) {
//默认选定给定的内容
$("#"+provId).val(dataprovId);
//$("#"+provId+" option[value='"+dataprovId+"']").attr("selected", "selected")
//$("#prov option[value='13']").prop("selected", "selected");
//$("#prov").val("13");
//$("#prov option:contains('河北省')").attr("selected", true);
//$("#prov").get(0).selectedIndex = 13;
//$("#prov").find("option[value='13']").attr("selected",true);
//为了搜索出当前数据
searchByParentid(cityId,cityParentId);
$("#"+cityId).val(datacityId);
}