0

これが私が始めたことです:http://jsfiddle.net/nd9ny/

今のところ、私が望むようには機能しません。

新しい選択入力が追加されるか、入力が削除されるたびにオプションを更新したい。

たとえば、次のオプションを使用した最初の選択入力があります。

<select>
    <option value="1"></option>
    <option value="2"></option>
    <option value="3"></option>
    <option value="4"></option>
</select>

ページに新しい入力を追加するときに、関数ですべての入力を更新し、新しく選択したオプションをそれらから削除する必要があります。

<select>
    <option value="1" selected></option>
    <option value="3"></option> // The second one is removed
    <option value="4"></option>
</select>

<select>
    <option value="2" selected></option> // The first one is removed
    <option value="3"></option>
    <option value="4"></option>
</select>

次に、最初の入力を削除すると、2番目の入力は次のようになります。

<select>
    <option value="1"></option>
    <option value="2" selected></option>
    <option value="3"></option>
    <option value="4"></option>
</select>

純粋なJavascriptコードが必要です。

4

1 に答える 1

1

次の解決策を試すことができます。

-CSS:

.hidden {
    display: none;  
}

-JS関数:

function hide_selected(el) {

    var index = el.selectedIndex;

    // Show every options
    for(var i=0; i<el.length; i++)
        el[i].className="";

    // Hide the selected one
    el[index].className="hidden";
}

-HTMLの例:

<body>
    <select onchange="javascript:hide_selected(this);">
        <option value="1" class="hidden" selected="selected">1</option>
        <option value="2" class="">2</option>
        <option value="3" class="">3</option>
        <option value="4" class="">4</option>
    </select>
</body>

注:この機能はFirefoxでテストされており、他のブラウザで機能するかどうかを確認する必要がある場合があります。

お役に立てれば

于 2012-09-19T12:05:42.190 に答える