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選択したオプションを参照する関数に渡すことができます。2番目の選択肢としてのみ追加しました。

これがより良い解決策です。単一の関数を選択リストにバインドしてから、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 に答える