繁体   English   中英

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

[英]Toggle button enabled/disabled if at least one input has values or if a select changes the default value

来自这个相关主题,在主题中用户留下了解决方案并可以解决问题,在第二部分中,我忘了提及SELECT元素已应用.select2()情况。 如果您在此button#btnBuscar 小提琴上测试一个实时示例,您将看到button#btnBuscar输入更改并获取值或SELECT更改默认选项时如何启用button#btnBuscar但是如果我从INPUT中删除值或选择返回默认值SELECT中的选项,则不会禁用按钮,所提供的解决方案的错误在哪里:

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

您可以更改:

<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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM