js代码执行顺序问题

博客讲述了在使用jQuery时遇到的一个常见问题,即尝试通过AJAX获取数据来设置select标签的默认选中值,但由于AJAX的异步特性,导致赋值操作在选项生成之前执行,从而无效。解决方案是将AJAX设置为同步请求,确保数据加载完成后再进行select的赋值。这样做虽然解决了问题,但同步请求可能阻塞页面,影响用户体验。
摘要由CSDN通过智能技术生成

在使用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设置为同步操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值