我认为jQuery应该解决跨浏览器问题。无论如何,我有一些代码在IE9,Firefox和Chrome中运行良好但在IE8中没有。我尝试做的就是加载带选项的select标签。我在页面上有以下选择标记:
<select id="Select0"></select>
jQuery(1.7):
$(document).ready(function () {
$.ajax({
type: "POST",
url: "myPage.aspx/MyWebMethod",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function (states) {
var jsonCodes = JSON.parse(states.d);
for (var i in jsonCodes) {
$("#Select0").append(new Option(jsonCodes[i].regionname, jsonCodes[i].region_id));
}
}
});
我还需要这个在IE8中工作,或者找到另一种方法来编写它可以在所有浏览器中使用。 感谢
答案 0 :(得分:1)
IE7不支持JSON.parse
。 jQuery当然有解决这个问题的方法。试试这个:
var jsonCodes = $.parseJSON(states.d);
<强>更新强>
我无法让$(element).append(new Option(x,y));
在IE8中工作。该选项不会附加标签。 http://jsfiddle.net/7qfhg/。请尝试更改为此语法http://jsfiddle.net/7qfhg/3/:
var sel = $("select");
for (var i = 1; i <= 50; i++) {
sel.append("<option value='" + i + "'>" + i + "</option>");
}
答案 1 :(得分:0)
您不需要包含此内容:
var jsonCodes = JSON.parse(states.d);
由于jQuery会在dataType
为json
时为您解析。