0

我有这两个按钮,我希望在单击另一个按钮时禁用其中一个按钮。

有html

    <button type="submit" id="button_user" name="submit" class="btn btn-small btn-primary" data-toggle="collapse" data-target="#fsearch">Pretraga terena na sajtu</button>
  <button type="submit" id="button_field" name="submit" class="btn btn-small btn-primary" data-toggle="collapse" data-target="#usearch">Pretraga korisnika na sajtu</button>

我已经设法用两个函数和 onclick 做到了这一点,但我想知道有没有什么优雅的方法可以在一个函数中做到这一点,从而可以避免内联 js?

这是我的js:

$(document).ready(function(){


disable_one = function(){
    if($('button_user').data('clicked', true)){
        $('#button_field').attr("disabled", "disabled");
        return;
    }
};
disable_two = function(){
    if($('button_field').data('clicked', true)){
        $('#button_user').attr("disabled", "disabled");
        return;
    }
};


});
4

4 回答 4

2

使用 jQuery:

$('.btn.btn-small.btn-primary').click(function () {
    $('.btn.btn-small.btn-primary').not($(this)).prop('disabled', true)
});

jsFiddle 示例

于 2013-04-01T21:07:54.103 回答
1
$('#button_user').on('click', function() {
    $('#button_field').attr('disabled', 'disabled');
});

工作示例:http: //jsfiddle.net/BPZT7/

于 2013-04-01T21:10:49.340 回答
0

将 Jquery 单击事件绑定到按钮类,然后使用 Jquery is 方法 ( http://api.jquery.com/is/ ) 使用目标属性。

 $("your button class").click(function(e) {
    if($(e.target).is("#button_user")) {
        //Disable button_field
    } else {
        // Disable button_user
    }
})
于 2013-04-01T21:22:06.020 回答
0

这就是我设法做到这一点的方法,非常简单明了。现在,如果访问者改变主意,则启用此按钮,以便他可以再次选择。

    $(document).ready(function(){

$('#button_user').click(function () {
    if (button_field.disabled==false){
        button_field.disabled = true;
    }
    else {
    button_field.disabled = false ;
    } 
});
$('#button_field').click(function () {
    if (button_user.disabled==false){
        button_user.disabled = true;
    }
    else {
    button_user.disabled = false ;
    } 
});


});
于 2013-04-02T13:52:46.183 回答