在使用jquery进行页面操作时,因为想要select标签自动选中一个值,而这个值则需要ajax操作后才能获取,因此将select标签的赋值操作放置到ajax后操作,但无论怎么执行,select标签始终得不到值
$.ajax({
url:"workbench/queryuser.do",
type:"get",
dataType:"json",
success:function (data) {
$.each(data,function (i,n) {
html+="<option value='"+n.id+"'>"+n.name+"</option>"
alert(html)
})
$("#create-owner").html(html);
}
})
$("#create-owner").val(id)
$("#createActivityModal").modal("show")
后来多方查验才发现是代码执行顺序的问题,ajax默认是异步请求,也就是说当后台响应的时候,它已经提前执行下一行代码了,而这就导致了id值无法与option内的value相匹配,导致了赋值先于option的产生操作,从而导致设置无效,解决方案就是将ajax设置为同步操作