選択ボックスを動的に作成するスクリプトがあります。これらのボックスが作成されたら、新しいボックスのonchangeイベントを設定して、toggleSelect()という関数を指すようにします。
Onchangeイベントを作成する構文を正しく取得できないようです。誰かが私が間違っていることを教えてもらえますか?エラーはスローされませんが、機能しません。
col = dataRow.insertCell(0);
var transport_select = document.createElement('select');
transport_select.id = transport_select_id;
transport_select.options[0] = new Option('LTL', 'LTL');
transport_select.options[1] = new Option('FTL', 'FTL');
transport_select.onChange = function(){toggleSelect(transport_select_id);};
col.appendChild(transport_select);
追加する
transport_select.setAttribute("onchange", function(){toggleSelect(transport_select_id);});
またはonChange
をonchange
に置き換えてみてください
W3C DOM Level 2 Events Specification に基づいてイベントをアタッチする別の方法を次に示します。
transport_select.addEventListener(
'change',
function() { toggleSelect(this.id); },
false
);
交換:
transport_select.onChange = function(){toggleSelect(transport_select_id);};
で:
transport_select.onchange = function(){toggleSelect(transport_select_id);};
on '[〜#〜] c [〜#〜]' hange>>on 'c 「ハング
addEventListener も使用できます。
Prototype.jsを使用している場合、これを行うことができます。
transport_select.observe('change', function(){
toggleSelect(transport_select_id)
})
これによりcross-browsersの問題が(期待どおり)排除されます。