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