我正在使用json数据填充从sql server的另一个下拉列表的更改事件的下拉列表, 当我在firefox中检查时,我收到了json数据 但我的下拉仍然是空的 有人可以帮我解决我在这里做错了什么 这是我的代码
function OnCathwordPopulated(response) {
var xx = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
$("#<%=ddlCatchword.ClientID %>").removeAttr("disabled");
$("#<%=ddlCatchword.ClientID %>").children().remove();
$("#<%=ddlCatchword.ClientID %>").empty().append("<option selected='selected' value='0'>Please select</option>");
var listItems = "";
for (var i = 0; i < xx.length; i++) {
var val1 = xx[i];
var text1 = xx[i];
listItems += "<option value='" + val1+ "'>" + text1 + "</option>";
} $("#<%=ddlCatchword.ClientID%>").html(listItems);
}
我还使用了另一种方法 这是
$("#<%=ddlCatchword.ClientID%>").append($("<option></option>").val(val1).text(text));
答案 0 :(得分:0)
修改代码以正确删除。我假设这是根据上面的代码选择正确的列表。另外,例如:http://jsfiddle.net/Tkt2B/
$("#<%=ddlCatchword.ClientID %>").removeAttr("disabled");
$("#<%=ddlCatchword.ClientID %>").find("option").remove().end()
$("#<%=ddlCatchword.ClientID %>").append("<option selected='selected' value='0'>Please select</option>");
var listItems = "";
for (var i = 0; i < xx.length; i++) {
var val1 = xx[i];
var text1 = xx[i];
listItems += "<option value='" + val1+ "'>" + text1 + "</option>";
}
$("#<%=ddlCatchword.ClientID%>").append(listItems);
答案 1 :(得分:0)
我尝试过这种方法来测试数据
var h = ' <select name="test" id="ss" class="country" data-native-menu="false">';
h = h + listItems;
var w = window.open(); $(w.document.body).html(h);
它会在新窗口中打开所有json数据的新dropdwon .. 我不知道有什么奇怪的错误...... 请注意我使用asp.net使用jquery mobile
答案 2 :(得分:0)
通过使用以下技巧解决它,
$("#<%=ddlCatchword.ClientID%>").html(listItems); $("#<%=ddlCatchword.ClientID%>").selectmenu('refresh', true);
使用http://ozkary.blogspot.no/2010/12/jquery-mobile-select-controls-populated.html的帮助 谢谢!