1

我的代码

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>
4

1 回答 1

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>
​

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>

​</p>

于 2012-04-12T11:37:29.633 回答