簡體   English   中英

從下拉菜單中刪除所選選項將選擇默認選項

[英]Removing selected option from dropdown selects default option not next selected

我正在操縱一個選擇,在顯示之前,它有多個選擇的選項。 在我的代碼之后,只有一個保持選中狀態,但是因為我刪除了前一個選擇,所以選擇顯示的是默認值,而不是下一個選擇的值。

<body>
    <select id="test"> 
        <option value="1">1 month</option>
        <option value="2" selected="selected">2 month</option>
        <option value="3" selected="selected">3 month</option>
    </select>
</body>

和JavaScript

$('#test option[value=3]').remove();

這里的例子

這是預期的嗎? 在控制台中,示例中的選項2仍將具有selected屬性。

看來是默認行為。 當您用selected標記多個時,它將使列表中的最后一個成為選中的一個。 刪除所選項目后,它將始終選擇第一個。 無論是否有其他項目selected屬性。

在chrome(38.0.2125.104 m),firefox 31和ie10中測試。 到處都有相同的行為。

還要注意,select將顯示帶有select屬性的最新選項。 如果您有: <select id="test"> <option value="1">1 month</option> <option value="2" selected="selected">2 month</option> <option value="3" selected="false">3 month</option> </select>仍會<select id="test"> <option value="1">1 month</option> <option value="2" selected="selected">2 month</option> <option value="3" selected="false">3 month</option> </select>最后一個。 它與0,空字符串或放置在其中的任何內容相同。

這里有一個測試和解決方法:

http://jsfiddle.net/s8j7t2g5/9/

選項的attr仍處於選中狀態,但選擇的val錯誤。

$("#test option").each(function () {

    if($(this).attr("selected") == "selected")
    {
        $('#test').val($(this).val());
    }
});

暫無
暫無

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

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