2

削除するテーブル内の各用に動的ボタンを作成しています。ボタン ID に行のキーを持たせて、クリック時にクエリを実行して、削除するボタンを確認できるようにします。すべてのボタンに同じ機能を割り当てているため、クリックされたボタンをイベント ハンドラーに渡して、イベント ハンドラー内から ID を照会できるようにする必要があります。

ハードコーディングするときは、'this' をイベント ハンドラーに渡すだけです。動的ボタンを作成するときにこれを行うにはどうすればよいですか?

今私は持っています:

{
var cell0 = row.insertCell(0);
var btn = document.createElement("input");
btn.type = "button";
btn.id = "btnHistorySelect_" + roundHdr[i].id;              // append the id to the name so we can get it when select button is clicked so we know what round to select as current
btn.value = "Set Current";
btn.onclick = btnHistorySelect;
cell0.appendChild(btn);
}


function btnHistorySelect() {
}

イベント ハンドラーが呼び出されますが、どのボタンがクリックされたのかわかりません。

4

4 に答える 4

4

this.idor属性を使用してevent.target.id、イベントを開始したボタンの ID を取得できます。

function btnHistorySelect(event) {

    var id = this.id;

         or
   // var elem = event.target;
   // var id = elem.id

}

関数 reference を割り当てているため、関数内のthisは現在の要素に対応しています。

于 2012-11-28T20:34:12.550 に答える
3
function btnHistorySelect(event) {
   alert(event.target); // Will alert the actual element clicked.
}
于 2012-11-28T20:34:53.810 に答える
2

HTML入力ボタン要素は、変数btnHistorySelectを介して関数内で使用できます。this

于 2012-11-28T20:34:56.063 に答える
2

これを使用している場合、IDを知ったり割り当てたりする必要はありません

于 2012-11-28T20:34:21.973 に答える