我的代码
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 :(得分:4)
我现在看到了。谢谢你的澄清。您可以将this
传递给将引用所选选项的函数。我只为第二种选择添加了它。
这是一个更好的解决方案。将单个函数绑定到选择列表,然后使用data-attribute存储270数字。
<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>