我在IE上遇到了非常奇怪的错误。我使用下面的代码发出ajax请求,从数据库获取数据,并使用该数据创建下拉选项<option>
。事情是在IE浏览器的数据没有正确显示,它只显示数据的第一个字符,但在其他浏览器的数据显示正确。我也尝试打印出数据,数据是正确的。 所以我怀疑我的JQuery选择或追加是错误的,并尝试追加ajax调用与一些垃圾数据和数据显示正确,但然后再次我把该代码放入ajax内,并不再显示...我真的出的线索现在..你可以帮助我这个家伙吗?我曾与FF,Chrome和Safari浏览器测试,他们都运作良好...Jquery Ajax无法在IE上工作
$.ajax({
cache: false,
type: "POST",
url: "<?php echo $this->baseUrl(); ?>/rewards/getdiscounttype/",
data: { esid: estore_id }
}).done(function(data) {
var obj = jQuery.parseJSON(data);
jQuery.each(obj, function (i, app) {
//alert(i+app['discount_type']);
var sel = $('select[name=discount_type'+id+']');
sel.append('<option value="'+app['id']+'">'+app['discount_type']+'</option>');
});
});
你能发表一个你的json的例子吗?以及var sel = $('select [name = discount_type'+ id +']')中的'id'变量是什么?' – mabbas 2012-07-20 09:54:28
umm id用于在表单字段中定位每个下拉列表。它实际上是作为顶级函数的参数传入的。这里是我的json [{“id”:19,“discount_type”:“20%”},{“id”:51,“discount_type”:“test”}] – zaw 2012-07-23 02:35:27