选项标签为javascript函数中的var

时间:2012-12-06 02:21:08

标签: javascript html

<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并用于其他东西。关于我做错了什么或者更好的方法来做任何建议?

2 个答案:

答案 0 :(得分:0)

要获取所选的<option>,您需要使用selectedOptions属性。这是一个数组,因为<select>标记可以(可选)支持多个选择。此数组包含<option>个标记对象,因此您应该可以使用op.selectedOptions[0].textContent获取标签。

答案 1 :(得分:-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>