2012-04-12 88 views
1

我的代码是否可以使用新选项()将ondblclick添加到选项字段?

var row2 =<?php echo json_encode($_SESSION['row2']) ?>; 
for (var i = 0; i < row2.length; i++) { 
    if(row2[i][0] == x) { 
     var select = document.getElementById("mTask"); 
     select.options[select.options.length] = new Option(row2[i][2], row2[i][1]); 
    } 
} 

,并产生这个在HTML

<select id="mTask" size="12"> 
    <option value="0">Rätt eller fel!</option> 
    <option value="1">A Valles Verktygsaffär</option> 
    <option value="2">A Stina för dagbok</option> 
    <option value="3">A Dagbok för cykelverkstad</option> 
    <option value="4">A Dagbok för elfirma</option> 
    <option value="5">A Dagbok för innebandyklubb</option> 
</select> 

我想这个样子的,这可能吗?

<option ondblclick="mainLink(270)">Rätt eller fel!</option> 
+0

我需要onfocus此有事件就可以了,必须找到这另一种解决方案! – 2012-04-12 11:27:36

+0

如果我把这个代码直接写入html,它的工作很好! 2012-04-12 11:28:55

+1

这就是我的问题如何从JavaScript新选项() – 2012-04-12 11:31:35

回答

4

我明白了。感谢您的澄清。您可以将this传递给将引用所选选项的函数。我只添加它作为第二选择。

这是更好的解决方案。将单个函数绑定到选择列表,然后使用data-attribute存储270号码。

http://jsfiddle.net/sUqVV/1/

<select id="mTask" size="12" ondblclick="mainLink2(this);"> 
    <option data-id="270" value="0">Rätt eller fel!</option> 
    <option data-id="271" value="1">A Valles Verktygsaffär</option> 
    <option data-id="272" value="2">A Stina för dagbok</option> 
    <option data-id="273" value="3">A Dagbok för cykelverkstad</option> 
    <option data-id="274" value="4">A Dagbok för elfirma</option> 
    <option data-id="275" value="5">A Dagbok för innebandyklubb</option> 
</select> 
<script> 
    function mainLink2(select) { 
     var selectedValue = select.options[select.selectedIndex].value; 
     var dataAttrib = select.options[select.selectedIndex].getAttribute('data-id'); 
     alert(selectedValue + ':' + dataAttrib); 
    } 
</script> 
​ 

OLD http://jsfiddle.net/sUqVV/

<select id="mTask" size="12" ondblclick="mainLink2(this);"> 
    <option value="0">Rätt eller fel!</option> 
    <option ondblclick="mainLink(270, this);" value="1">A Valles Verktygsaffär</option> 
    <option value="2">A Stina för dagbok</option> 
    <option value="3">A Dagbok för cykelverkstad</option> 
    <option value="4">A Dagbok för elfirma</option> 
    <option value="5">A Dagbok för innebandyklubb</option> 
</select> 
<script> 
    function mainLink(id, option) { 
     alert(id + ':' + option.value); 
    } 
</script> 

+0

最后的解决方案工作正常 ty非常多,为此,是非常有用的! – 2012-04-12 11:51:54

相关问题