1.ajax同步请求数据,然后把数据append到一个select控件,结果是,html已经改变,可是页面显示的却还是原来的下拉数据,但是奇怪的时选择出来的结果却是新的选项数据。代码如下:
$.ajax({
async: true,
type: "post",
dataType: "html",
url: "/Handler.ashx",
data: {
"ID": ID,
},
success: function (SpecialProductStr) {
if (SpecialProductStr == undefined || SpecialProductStr == null) {
return;
}
var SpecialProductInfo = jQuery.parseJSON(SpecialProductStr);
CalculateRowObject.find("select[name='SpecialProduct']").find("option").remove();
CalculateRowObject.find("select[name='SpecialProduct']").removeClass("selectBox");
CalculateRowObject.find("select[name='SpecialProduct']").addClass("selectBox");
var defaultoption = "--请选择--";
CalculateRowObject.find("select[name='SpecialProduct']").append(defaultoption);
if (SpecialProductInfo == undefined || SpecialProductInfo == null) {
return;
}
for (var i = 0; i < SpecialProductInfo.length; i++) {
var Productoption = "aaaa";
CalculateRowObject.find("select[name='SpecialProduct']").append(Productoption);
}
//加上红色的代码,就会正常显示了
CalculateRowObject.find("select[name='SpecialProduct']").css("display","none");
CalculateRowObject.find("select[name='SpecialProduct']").css("display","block");
}
});
非正常解决办法,1.就是上面那两名红色的,也就是把它隐藏再显示一下,就好了,相当奇怪;
2.就是把同步改为异步,也是没有问题的
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!