簡體   English   中英

使用jQuery將選擇框值設置為第一個選項

[英]Use jQuery to set select box value to first option

我正在動態填充帶有選項的選擇框。 當我這樣做時,我希望選擇框的值是第一個選項的值(如果你願意,可以選擇'默認選項')。 聽起來很簡單,但我無法讓它發揮作用。

var myElement = $('select[name="myName"]');

....嘗試了以下三種變化

// myElement.find('option').first().prop('selected', 'selected');
// myElement.val(myElement.find('options').first().val());
myElement.prop('selectedIndex', 0);

...但是以下行給出了空白警報

alert(myElement.val());

我哪里錯了?

選項應該是選項

myElement.find('option:eq(0)').prop('selected', true);

您可以使用選項上的eq選擇器來選擇第一個選項。

如果您知道第一個選項的值。 然后你就可以做到

myElemeent.val('first value') // Which selects the option by default

你試過的第二種情況應該有效,除非你沒有在正確的位置打電話。 即; 等待ajax響應完成。

嘗試在donesuccess (不建議使用)處理程序中調用它

你幾乎得到了它,把's'放在'選項'中:

myElement.val(myElement.find('option').first().val());

工作jsFiddle

您還可以使用下一個代碼:

myElement[0].selectedIndex = 0;

這是獲取Dom元素(不是jQuery對象),使用vanilla Javascript並使用它根據它的索引將第一個選項設置為選定的選項。

如果您想確保您的選項具有值並且不是占位符,您可以執行以下操作:

$('select option').filter( function (index, option) {
  return option.attributes.value
}).val()

這樣,您將檢查HTML節點是否具有屬性value並且不為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM