[英]Setting value of dynamically generated drop down selector
我有一個動態生成的下拉選擇菜單。 它使用html select語法生成,然后使用.after方法將其插入。 然后,我使用ajax調用來獲取選擇器的元素並像這樣填充它。
$($.parseJSON(msg)).map(function () {
return $('<option>').val(this.id).text(this.name);
}).appendTo('#item');
現在,在此代碼填充“ item”下拉菜單之后,我必須將其設置為some元素,例如第五個元素。 所以我試圖這樣做。
$('#item').val('5');
我什至嘗試具體識別該物品。 由於它在html表中,因此。
$("#itemTable > tfoot > tr.items").find("td:eq(0) [name='item']").val('5');
當我手動創建下拉菜單時,以上代碼在其他情況下也可以正常工作。 因此,我認為以上兩種嘗試均未真正識別出“項目”下拉組件。 那么我還有其他方法可以嘗試嗎?
map()
jquery文檔說:“如果要處理純數組或對象,請改用jQuery.map()。”
您的下拉列表將不會被填充(請檢查控制台中是否有錯誤),因此將任何值設置為#item均無效。
嘗試這個:
var options = $.map($.parseJSON(msg), function (n, i) {
return $('<option>').val(n.id).text(n.name);
});
$("#item").append(options);
使用此代碼, 將填充drowdown ,然后$("#item").val("5")
將起作用。
JSFiddle: http : //jsfiddle.net/6Us9N/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.