我有一個頁面使用jQuery加載頁面加載時的選項下拉菜單。這部分工作正常。然後,我想要在查詢字符串中包含的下拉菜單中設置選定的選項(如果有的話) - 如果沒有,則默認它。查詢字符串恢復正常,但我無法使所選選項的設置正常工作。在下面的代碼中,當我停在「調試器」行並檢查Select0時,它是未定義的(在成功加載之後),但是如果我允許代碼繼續運行,則下拉列表將填充來自ajax調用的數據。我猜測這就是爲什麼選擇的項目沒有被設置 - 只是無法弄清楚如何解決它。jQuery從頁面加載數據中設置選定的選項
$(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));
}
var first = getUrlVars()["region"];
if (first) {
$.fn.GetInventory(1, 10, reg, 'rank', 'asc'); // If there is a querystring use it
$("#Select0 option[text='" + reg + "']").get(0).selected = true;
}
else {
debugger;
var myText = 'United States';
$("#Select0 option[text='" + myText + "']").get(0).selected = true;
$.fn.GetInventory(1, 10, 'United States', 'rank', 'asc'); // If no query string default to USA
}
}
});
之前'你錯過井號'#'在所有調用中選擇'0'到'$()',但第一個。這是一個錯字還是你的問題的原因? – 2012-03-08 20:15:47
你需要糾正你的jquery選擇器'$(「#Select0」)'。你錯過了#在幾個地方 – dhaval 2012-03-08 20:18:13
錯字 - 這個錯誤停止執行(使用散列標籤#Select0)。 Microsoft JScript運行時錯誤:無法設置屬性「selected」的值:對象爲空或未定義 – 2012-03-08 20:21:57