1

どのボタンクリックがどのdivからのものかを取得するにはどうすればよいですか。基本的に私は複数のdivを持っています

<div id="rare1">
<input type=button value="OK" id=btn>
</div>
<div id="rare2">
<input type=button value="OK" id=btn>
</div>
<div id="rare3">
<input type=button value="OK" id=btn>
</div>

私は機能を持っています

$("#btn").click(function(){
    $("#rare"+i+" #btn").attr("disabled", "true");
}

このようにして、追加されている最新のボタンを無効にすることができます。別のdividをクリックするボタンを選択し、無効にする正しいbtnを選択するにはどうすればよいですか?

申し訳ありませんが、ボタンをクリックしたdivIDも取得したいものを追加するのを忘れてください。

4

3 に答える 3

3

idページごとの要素ごとに一意である必要があります。現在btn、ボタンごとにあります。代わりにクラスを使用して、class="btn"次のようにコードを変更します。

<div id="rare1">
   <input type=button value="OK" class=btn>
</div>
<div id="rare2">
   <input type=button value="OK" class=btn>
</div>
<div id="rare3">
   <input type=button value="OK" class=btn>
</div>

JS:

$(".btn").click(function(){
    $(this).prop("disabled", true);
}

現在クリックされているボタンを取得するには、$(this)上記のコードに示すように使用します。


コメントに基づく更新

親のdivIDを取得するには、次を使用します。

$(this).parent().attr('id')

それで:

$(".btn").click(function(){
    var parentId = $(this).parent().attr('id');
    $(this).prop("disabled", true);
}
于 2012-06-01T09:14:58.513 に答える
2

Idはユニークなボタン用でクラスを与えます

<div id="rare1">
<input type=button value="OK" class="btn">
</div>
<div id="rare2">
<input type=button value="OK" class="btn">
</div>
<div id="rare3">
<input type=button value="OK" class="btn">
</div>

$(".btn").click(function(){

    $(this).attr("disabled", "true");
});
于 2012-06-01T09:16:28.003 に答える
1

'this'変数を使用して、クリックしたボタンを選択できます。

$("#btn").click(function(){ $(this).attr("disabled", "true"); }

于 2012-06-01T09:15:45.910 に答える