如何使用jquery禁用具有类似Id的按钮

时间:2011-07-11 09:14:36

标签: jquery

我有3个按钮ID,如#button1,#button2,#button3。现在我点击#button2,此处我要禁用#button1,#button3的其他2个按钮。我们可以使用$("#myButton").attr("disabled", true);禁用按钮。但在这里我们应该有一些逻辑。请帮助我。

4 个答案:

答案 0 :(得分:3)

您可以获取所有三个元素并删除当前单击的元素:

$('#button1,#button2,#button3').click(function(){
  $('#button1,#button2,#button3').not(this).attr('disabled',true);
});

编辑:

您还可以使用变量来减少代码和exectution中的重复:

var buttons = $('#button1,#button2,#button3');
buttons.click(function(){
  buttons.not(this).attr('disabled',true);
});

您也可以考虑在按钮上使用类而不是指定每个id,这通常使维护更容易:

var buttons = $('.Radio-ish-button');
buttons.click(function(){
  buttons.not(this).attr('disabled',true);
});

答案 1 :(得分:1)

$(function () {

  $('#button2').live('click', function () {
    $('#button1,#button3').attr('disabled', true);
  });

});
评论后

编辑:,尝试使用类而不是id

$(function () {

  $('.buttons').live('click', function () {
    $('.buttons').not(this).attr('disabled', true);
  });

});

答案 2 :(得分:1)

尝试:

$("input[id^=button]").click(function(){
    $("input[id^=button]").not(this).attr('disabled',true);
});

答案 3 :(得分:0)

您可以通过从树状按钮集中过滤按下的按钮来完成此操作。

我们可以使用列表中的not来过滤掉按下的按钮。

$(document).ready(function() {
    $('#button1,#button2,#button3').click(function() {
        $('#button1,#button2,#button3').not(this).attr('disabled',true)
    });
});