ajax同步,页面显示与html代码不一致
2013-04-16 10:08
447 查看
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.就是把同步改为异步,也是没有问题的
$.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.就是把同步改为异步,也是没有问题的
相关文章推荐
- [Ajax]便于在html页面中引用javascript显示后台数据的一段ajax代码
- Server.HTMLEncode让代码在页面里显示为源代码
- 在HTML页面中显示html代码
- 在Silverlight页面里显示HTML的免费控件下载(附使用方法代码)
- 在textarea中显示html页面的javascript代码
- windows 2003上安装测试管理工具TestDirector 8.0,访问页面显示HTML代码的解决方法
- 在Silverlight页面里显示HTML的免费控件下载(附使用方法代码)
- ajax过来的html代码没有了原来页面中的js效果
- 页面显示img等html代码
- 在html页面用ajax的简单应用通过javascript得到数据库中的图片路径并在表格中显示出来
- 一个显示日历的页面代码(后缀格式为html)
- 在Silverlight页面里显示HTML的免费控件下载(附使用方法代码)
- 2017精华版:jquery 中 ajax,后台获取数据库json数据,显示在html页面 02
- ajax接收后台数据在html页面显示
- 如何在html页面上随着鼠标的位置显示浮动层图片或别的东东?(附代码)
- 关于txt文本的内容与html页面上显示的内容格式一致的问题
- html页面,左边点击链接,右边显示内容参考代码。
- IE7 不显示ajax返回的HTML代码
- 2017精华版:jquery 中 ajax功能,获取数据库数据,显示在html页面 01
- input 的value属性值,页面显示与html结构中不一致的问题