簡體   English   中英

jQuery選擇選項不適用於尚未添加到DOM的選項

[英]jQuery selecting option not working for select not yet added to DOM

我正在嘗試在尚未添加到DOM的select元素中選擇一個特定選項,但它似乎不起作用。 我想做的不可能嗎?

我想單擊“添加選擇”按鈕,並看到添加到DOM的新選擇元素,並選擇了“0”選項。

這是一個

的jsfiddle

HTML

<div id="container">
    <select class="mySelect">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2" selected>2</option>
    </select>
</div>

<button id="addSelect">Add Select</button>

JS

$(document).ready(function() {
    var $template = $('.mySelect').first().clone(),
        $container = $('#container');

    $template.find('option').each(function(i, option) {
       $(option).prop('selected', false); 
    });

    $('#addSelect').click(function(e) {
        e.preventDefault();
        $container.append($template.clone());
    });
});

正如您在小提琴中看到的那樣,添加了新的選擇,但它選擇了“2”選項。

我也嘗試用$template.val('0')重置select,但這也不起作用。 選擇仍然顯示,選擇“2”選項。

刪除selected屬性,因為無DOM元素上的設置屬性未設置其屬性,元素未鏈接到DOM:

$template.find(':selected').removeAttr('selected');

-DEMO-

 $('#addSelect').click(function(e) {
        e.preventDefault();
        var $a = $template.clone();
        $a.find('option').prop('selected',false)
        $container.append($a);
    });

更新了小提琴

$template.find('option:selected').removeAttr('selected');

http://jsfiddle.net/Lm7d714q/8/

暫無
暫無

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

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