0

单击任何按钮一次后,我想禁用所有按钮。

jQuery('div').find('input[type="submit"]').each(function(){
    jQuery(this).one('click', function(e) {
    jQuery(this).css({
        'background' : 'rgba(0, 0, 0, .15)',
        'outline' : '0',
        '-webkit-box-shadow' : 'inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05)',
        '-moz-box-shadow' : 'inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)',
        'box-shadow' : 'inset 0 2px 4px rgba(0, 0, 0, .15), 0 1px 2px rgba(0, 0, 0, .05)'
        }).unbind('click');


    });
})

这是我当前的实时片段:http: //jsfiddle.net/HyJvQ/3/

编辑:抱歉没有说清楚。

这些元素不仅出现两次。我想在单击其他按钮后禁用每对中的一个按钮。更新小提琴:http: //jsfiddle.net/283g7/

4

4 回答 4

0

这就是我想要解决的问题。我通过使用 .siblings() 来解决它

$('body div').each(function() {
$(this).find('input[type="submit"]').each(function(){
    $(this).one('click', function(e){
                $(this).css({'border': 'red 1px solid'});
                $(this).siblings().unbind('click');
                })
})
})

http://jsfiddle.net/283g7/2/

于 2013-05-01T04:04:45.007 回答
0

你做错了。

$('#someIdorButton').on('click',function(){
$('input:submit').prop('disabled',true); // or $('input').attr('disabled','disabled');

});
于 2013-04-30T07:32:38.607 回答
0

用于prop()禁用按钮

jQuery('div').find('input[type="submit"]').prop('disabled',true);

尝试这个

var buttons=jQuery('div').find('input[type="submit"]');
buttons.each(function () {
  jQuery(this).one('click', function (e) {
     jQuery(this).css({'border' : 'red 1px solid' }).unbind('click');
     buttons.prop('disabled',true);

  });
})

这将找到您内部的所有按钮div并将其禁用

在这里摆弄

于 2013-04-30T07:32:50.253 回答
0

像这样的东西应该工作:

var $buttons = $('div input[type="submit"]');

$buttons.click(function (e) {
    $(this).css({'border' : 'red 1px solid' });
    $buttons.off('click');
})

演示:http: //jsfiddle.net/HyJvQ/9/

于 2013-04-30T07:33:44.287 回答