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 回答