javascript - jQuery獲取特定的選項標籤文本




9 Answers

如果您想獲得值為2的選項,請使用

$("#list option[value='2']").text();

如果您想獲取當前選擇的選項,請使用

$("#list option:selected").text();
javascript jquery drop-down-menu jquery-selectors

好吧,說我有這個:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

當我的值為'2'時,如果我想獲得“選項B”,選擇器會是什麼樣子?

請注意,這不是要求如何獲取選定的文本值,而只是其中的任何一個,無論是否選擇,取決於值屬性。 我試過了:

$("#list[value='2']").text();

但它不起作用。




基於Paolo發布的原始HTML,我提出了以下內容。

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

它已經過測試,可用於Internet Explorer和Firefox。




$("#list option:selected").each(function() {
   alert($(this).text());
});  

#list元素中的多個選定值。




這是一個古老的問題,在一段時間內還沒有更新,現在正確的做法是使用

$("#action").on('change',function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

我希望這有幫助 :-)




$(this).children(":selected").text()



您可以通過使用函數.text();獲得選定的選項文本.text();

你可以像這樣調用函數:

jQuery("select option:selected").text();



使用:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});



我需要這個答案,因為我正在處理一個動態轉換的對象,而這裡的其他方法似乎不工作:

element.options[element.selectedIndex].text

這當然使用DOM對象,而不是使用nodeValue,childNodes等解析其HTML。




作為替代解決方案,您還可以使用jQuery選擇器上下文部分在下拉列表中找到value="2" <option>元素:

$("option[value='2']", "#list").text();



Related