如果至少有一个输入具有值或某个选择更改了默认值,则启用/禁用切换按钮
Toggle button enabled/disabled if at least one input has values or if a select changes the default value
从这个相关的主题开始,用户留下了一个解决方案,它可以工作,我在第二部分中忘记了SELECT元素应用了.select2()
。如果你在这个Fiddle上测试一个实际的例子,你会看到button#btnBuscar
是如何在任何时候输入改变并获得值的,或者SELECT
改变默认选项时启用的,但如果我从INPUTs中删除值,或者在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
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- jquery日期选择器年份范围默认值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 根据两个下拉列表的默认值禁用按钮
- 如何创建具有默认值的JavaScript对象字段?(AngularJS模型相关)
- Angularjs-设置不带ng选项的select的默认值
- jQuery Datepicker从日期开始设置默认值
- 如何设置浏览器打开的文件对话框的文件名(一些默认值)
- JQuery BlockUI鼠标加载光标没有't在Google Chrome中返回默认值
- Selectize选择默认值
- 在KeystoneJS中为Types.Money设置默认值
- 是否可以同时为一个元素的所有事件指定阻止默认值
- 防止在IE7中按回车键时出现默认值
- 在 event.preventDefault() 之后重新启用按钮默认值
- 如何在 jquery 中再次启用防止默认值
- 如果至少有一个输入具有值或某个选择更改了默认值,则启用/禁用切换按钮
- jQuery复选框启用/禁用文本输入和添加/删除默认值