4

以下のようなオプションリストがある場合:

<select name="optionList" id="optionList"> 
    <optgroup label="optgroup1"> 
        <option value="1">1</option> 
        <option value="2">2</option> 
        <option value="3">3</option> 
        <option value="4">4</option> 
    </optgroup> 
    <optgroup label="optgroup2"> 
        <option value="5">5</option> 
        <option value="6">6</option> 
        <option value="7">7</option> 
        <option value="8">8</option> 
    </optgroup> 
</select>

次を使用して selectedIndex にアクセスできることはわかっています。

document.getElementById('optionList').selectedIndex;

上記を使用すると、選択したインデックス 5 は 4、6 は 5、7 は 6 などになります。

optgroup 内の選択されたアイテムがどこにあるかを知るにはどうすればよいですか?

要約すると、5 が 0 を返し、6 が 1 を返すように、何かを照会して optgroup 内の位置を取得できるようにしたいと考えています。

4

5 に答える 5

1

純粋なJavaScriptで

var element = document.getElementById('optionList');
console.log(element.options[element.selectedIndex].parentNode.label);
于 2013-11-14T13:49:41.273 に答える
0

jQuery クロスブラウザー ソリューション:

$('#optionList option:selected').index();

プレビュー

于 2013-11-14T13:59:32.170 に答える