0

ドロップダウン (選択) ボックスからオプションを動的に削除するにはどうすればよいですか? 値を取得してから、手動で削除する必要があります。

すなわち

    [DROP DOWN BOX]
    Apples
    Oranges
    Pears
    Kiwis
    Mangos
    Strawberries

var option_to_delete = "ナシ"

「Pears」の選択ボックス オプションを動的に検索し、検出された場合は削除するコード。

期待される結果:

    [DROP DOWN BOX]
        Apples
        Oranges
        Kiwis
        Mangos
        Strawberries

jQuery ライブラリは使用しないでください。

4

3 に答える 3

1

の子ノードをループして、またはが "Pears" に等しい<select>子を削除できます。innerTextvalue

私はそうすることのjsfiddleを提供しました:http://jsfiddle.net/pcb8q/

于 2013-01-28T20:43:10.893 に答える
1

このコードは、ドロップダウン ボックスをループし、要素の 1 つが variable と等しい場合にループしますoption_to_delete

var dropdown = document.getElementById('ID_OF_DROPDOWN');
var option_to_delete = "Pears"

for (i=0;i<dropdown.length;  i++) {
   if (dropdown.options[i].value==option_to_delete) {
     dropdown.remove(i);
   }
}

https://stackoverflow.com/a/7601791/298051からいくつかのコードを採用しました

于 2013-01-28T20:43:19.123 に答える
1

そのようにhtmlを構造化できます

    <select id="fruits">
        <option value="apples">Apple</option>
        <option value="oranges">Oranges</option>
        <option value="kiwis">Kiwis</option>
    </select>

次にJSで

    var selectBox = document.getElementById('#fruits');
    var options = selectBox.getElementsByTagName('option');
    var optionToDelete = 'apples';

    for (var i = 0; i < options.length; i++) {
        if (options[i].value === optionToDelete) {
            selectBox.removeChild(options[i]);
        }
    }
于 2013-01-28T20:44:49.803 に答える