2011-01-09 10 views
0

私は、ボタンの長いリストを持っている:<input type=button name=clickbutton onclick='dosomething(this)'>指定された名前の入力ボタンを見る方法は?例えば

しかし、その代わりに、すべてのボタンに同じfuncionに電話を置くのはこの名前でそのボタンをクリックするのを待つことになる単一のリスニングイベントを追加する方が合理的だろう。しかし、再び、このボタンがありますので、関数にクリックされたオブジェクトを渡す必要があります。たとえば、このボタンに隣接する(nextSibling)テキストエリアフィールドを更新する必要があります。

答えて

1

イベントの委任を参照してください。これはあなたが必要とするものかもしれません。 Googleには多くの優れたリソースがあります。

更新: 申し訳ありませんが、私はここで、答えにもう少し力を入れている可能性がいくつかの結果は、あなたが、あなたがイベントに基づいて撮りたいものを、アクションを決定するためにスイッチを使用するGoogle Search...

です.name属性。そのアプローチについてのすばらしいことは、イベントのあるページに多くの要素がある場合、それはあなたのページのように聞こえるので、ページのレスポンスが良くなるはずです。ブラウザは要素ごとのイベントの余分なオーバーヘッドを処理する必要がないためです。

1
var buttons = document.getElementsByName('clickbutton'); 
for (var i = 0; i < buttons.length; i++) 
    buttons[i].onclick = function(){ 
     this.nextSibling.innerHTML = 'clicked!'; 
    } 
3

あなたはjQueryのを使用することができます。

$('input[name|="clickbutton"]').click(function() { 

    var currentButton = $(this); 
    alert(currentButton.attr('id')); 

}); 

は、これは「clickbutton」の名前を持つすべての入力要素にクリック機能を付加します。 currentButtonは、ちょうどクリックされた入力要素です。この関数は、currentButtonのIDをアラートします。

UPDATE:私はここにあなたのための作業例を作成しました:http://jsfiddle.net/Damien_at_SF/cdsWk/1/

希望:)

を支援
関連する問題