ajax同步,页面显示与html代码不一致

前端之家收集整理的这篇文章主要介绍了ajax同步,页面显示与html代码不一致前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 = "<option value='-1' >--请选择--</option>";
CalculateRowObject.find("select[name='SpecialProduct']").append(defaultoption);


if (SpecialProductInfo == undefined || SpecialProductInfo == null) {
return;
}

for (var i = 0; i < SpecialProductInfo.length; i++) {
var Productoption = "<option value='" + SpecialProductInfo[i].ProductID + "'>aaaa</option>";

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.就是把同步改为异步,也是没有问题的

原文链接:https://www.f2er.com/ajax/166519.html

猜你在找的Ajax相关文章