如果至少有一个输入具有值或者选择更改默认值,则启用/禁用切换按钮

时间:2014-10-16 20:17:29

标签: javascript jquery html

来自this相关主题的用户离开解决方案并且它有效,我来了第二部分,我忘了提到SELECT元素已应用.select2()。如果您在此Fiddle上测试一个实时示例,您会看到button#btnBuscar如何在输入更改并获取值时启用,或SELECT更改默认选项但是如果我删除来自INPUT或选择的值返回SELECT中的默认选项,然后该按钮未被禁用,提供的解决方案的错误在哪里:

$(':input').on('input change', function () {
    var completed = $(':input').filter(function () {
        return !!this.value;
    }).length > 0;
    $('button#btnBuscar').prop('disabled', !completed);
});

1 个答案:

答案 0 :(得分:1)

你可以改变:

<option selected="selected" value="-1">-- SELECCIONAR --</option>

要:

<option selected="selected" value="">-- SELECCIONAR --</option>

或者将js代码调整为:

$(function(){
    $('select.toSelect2').select2();

    $(':input').on('input change', function () {
        var completed = $(':input').filter(function () {
            return !!this.value && !$(this).is('select') || 
                   (this).is('select') && +this.value > -1;
        }).length > 0;
        $('button#btnBuscar').prop('disabled', !completed);
    });        
});

DEMO