0

DB から値を取得するページがあります。値や呼び出し方法を制御することはできませんが、最終結果は標準の HTML コードのように見えます。次に例を示します。

<div id="myDiv" class="controls">
    <select id="jform_province" name="jform[province]">
        <option value="AB">Alberta</option>
        <option value="BC">British Columbia</option>
        <option value="MB">Manitoba</option>
    </select>
</div>

次のように関数を追加することでオプション要素を変更できるスクリプトをページの最後に配置しようとしています。

<option value="AB" onClick="someFunction()">Alberta</option>

コードを変更するにはどうすればよいですか? div のコンテンツ全体を編集する方法は知っていますが、要素を変更したいのですが、要素の値がわからないため、スクリプトは「myDiv」内のすべてのオプション タグを見つける必要があります (変更したくないページ)、そのコードをそれらすべてに追加します。

ありがとう

4

1 に答える 1

2

イベントハンドラーをアタッチするだけです。

document.getElementById('jform_province').onchange = function() {
  switch(this.options[this.selectedIndex].value) {
    case "AB": someFunction(); break;
    // define other cases as needed
  }
};

<option>要素は、選択されたときにイベントを発生させないことに注意してください。発生onclickしたとしても、キーボードの使用などの代替入力方法は検出されません。上記のコードは代替手段を提供します。

于 2013-02-04T22:55:02.047 に答える