0
<select id="wbox" name="listbox" size="20"onchange="call(this)">
<optgroup label="Taxes">
<option value="1694" label="DNA-option1"></option>
<option value="1642">RNA-option2</option>

選択したオプションのラベルを抽出し、JavaScript 関数で使用したいリスト ボックスがあります。

function call(op) {
        alert(op.label); 
        alert(op.name); 
        alert(op.value); 

        var x = op.label;          
     }

ただし、これは常に未定義のラベルとして返されます。オプションラベルのhtmlの書き方を変えてみました。これは、Java スクリプト関数を記述する最善の方法ではない可能性があります。オプション値は絶対に使用できません。これは一意の ID であり、他の目的で使用されます。私が間違っていること、またはこれを行うためのより良い方法に関する提案はありますか?

4

2 に答える 2

0

選択した を取得するには、プロパティ<option>を使用する必要がありselectedOptionsます。<select>タグは (オプションで) 複数選択をサポートできるため、これは配列です。この配列には<option>タグ オブジェクトが含まれているため、 を使用してラベルを取得できるはずですop.selectedOptions[0].textContent

于 2012-12-06T02:29:10.607 に答える
-1

私は推測する:

    <select id="wbox" name="listbox" size="20" onchange="call(this.selectedOptions)">
        <optgroup label="Taxes">
            <option value="1694" label="DNA-option1">RNA-option1</option>
            <option value="1642" label="DNA-option2">RNA-option2</option>
    </select>

    <script type="text/javascript">
        function call(op){
            for(var i=0;i<op.length;i++){
                console.log('Label: '+ op[i].getAttribute('label'));
            }
        }
    </script>
于 2012-12-06T02:24:45.787 に答える