0

ビューのレンダリングにサーバー側テクノロジ (JSP) を使用しています。したがってfor、リストをループするループがあります。ここで、クリック リスナーを、リスト内の各項目に対してレンダリングされるボタンにバインドしたいと考えています。クリック リスナーのコードには項目 ID が必要ですが、JavaScript コードに渡す方法がわかりません。

requirejsソリューションに問題がある場合は、も使用します。

4

3 に答える 3

1

html ID を JavaScript に渡す必要がないだけかもしれません。css クラスを使用して、DOM 内のボタンを取得できます。JavaScript コードは、使用するフレームワークによって異なります。

ネイティブ JavaScript では、次のようにボタンを取得できます。

var buttons = document.querySelectorAll('button.my_class');

必要なものに置き換えるmy_classだけです。

これを行うことでボタンIDにアクセスできます:

var button_id = buttons[0].id

ボタンにアイテム ID を付けたい場合は、data属性を使用できます。例えば ​​:

<button id="my_button" data-id="item_id" />

data_idJavaScript では、次のようにアクセスできます。

var item_id = buttons[0].getAttribute('data-id');
于 2012-11-26T08:55:02.683 に答える
1

ほとんどのイベント ハンドラーでthisは、 はイベントをトリガーした DOM ノードであるため、次のように機能します。

button.onclick = function() {
    alert(this.id);
}
于 2012-11-26T09:05:17.063 に答える
1

jQuery と requirejs を使用している場合 、これは次のようになります。

require(['jQuery'], function ($) {
    $('.container_element').on('click', '.button_class', function () {
        console.log('You have clicked button with id ', $(this).attr('id'));
    })
})   
于 2012-11-26T09:08:48.560 に答える