1

私はこのようないくつかのフォームを持っています:

<form class="some-name">
    <input type="hidden" name="bill" value"flower" />
    <button value="0">Yes</button>
    <button value="1">No</button>
    <button value="2">No</button>
</form>

<form class="some-name">
    <input type="hidden" name="ben" value"men" />
    <button value="0">Yes</button>
    <button value="1">No</button>
    <button value="2">No</button>
</form>

私がしたいこと

ユーザーがボタンをクリックすると、そのフォーム内の他のボタンを無効にします。

現在、このjQueryを試していますが、機能していませんか?

その背後にある私の考えは、現在の要素がボタンであるため、フォームである親、そしてフォーム内のすべてのボタンが必要ですか?

$(document).on("click", ".some-name button", function(){
    $($(this)).parent().$("button").attr("disabled", true);
});

また試した:

$(document).on("click", ".some-name button", function(){
    $($(this)).parent("button").attr("disabled", true);
});

しかし、どちらも運がないのですか?

4

3 に答える 3

4
$(document).on("click", ".some-name button", function(){
    $(this) // currently clicked button
      .siblings("button")  // all neighbor of clicked button
      .prop("disabled", true);  // set disabled
});

関連する参考文献:

于 2012-06-28T16:24:06.783 に答える
0

これを試して :

$(document).on("click", ".some-name button", function(){
     $(this).parent('form').children("button").attr("disabled", true);
});​

これがjsfiddleです

于 2012-06-28T17:34:10.067 に答える
0
$($(this)).parent().$("button")

これは有効なjQueryではありません。あなたは次のようなものが欲しいです:

$(this).parent().find('button')
于 2012-06-28T16:24:58.687 に答える