2012-04-12 83 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

相關問題