事件单击标记<option> </option>

时间:2014-03-21 09:49:12

标签: javascript

当我点击某个选项时,我希望selected属性应用于所点击的选项,并从之前选择的选项中删除。

这是html

<form action="" method="post" class="form" name="myForm">
    <select id="first" name="mySelect">
        <option class="my-choise" selected="selected">1</option>
        <option class="my-choise">2</option>
        <option class="my-choise">3</option>
        <option class="my-choise">4</option>
    </select>
</form>

这是javascript。请注意我没有使用jQuery

 var objSel = document.forms[0].elements[0];
for (var i=0; i<objSel.options.length; i++) {
    console.log(document.getElementsByClassName('my-choise')[i]);
    objSel.options[i].addEventListener('click', function(){
        alert (ok);
        var id = document.getElementsByClassName('my-choise')[i];
        id.setAttribute('selected', 'selected');
    },false);
}

1 个答案:

答案 0 :(得分:0)

如果您在&#39;选择&#39;上设置所选属性,那将是绝对有意义的。元素使用另一个元素,如按钮。

但如果您点击同一选项中的选项,请选择&#39;元素,选项已在幕后选择,您绝对没有理由设置“选择”&#39;属性相同&#39;选择&#39;元件。

这是jsfiddle中的一个演示,它显示已经自动选择了选项:DEMO

编辑: 在加载html之后让你的javascript执行,把它放在一个只在文档完全加载后运行的函数中:

document.onload=onLoadHandler;

function onLoadHandler(){
 //put your onclick handler attachment here
}