Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否选中基于复选框的按钮启用和禁用_Javascript_Jquery_Html - Fatal编程技术网

Javascript 是否选中基于复选框的按钮启用和禁用

Javascript 是否选中基于复选框的按钮启用和禁用,javascript,jquery,html,Javascript,Jquery,Html,我一直面临一个问题,当“无”复选框被选中时,按钮将不会被禁用,它仍然处于启用状态 我也把属性放在禁用按钮上,但它仍然被启用 这是我的密码 选项1 选择2 选择3 下一个 if($(“.tab1\u chk:checked”)){ $('.tab1_btn').prop('disabled',false); }否则{ $('.tab1_btn').prop('disabled',true); } 当我在此$('.tab1_btn').prop('disabled',false)之前发出警报

我一直面临一个问题,当“无”复选框被选中时,按钮将不会被禁用,它仍然处于启用状态

我也把属性放在禁用按钮上,但它仍然被启用

这是我的密码

选项1
选择2
选择3


下一个
if($(“.tab1\u chk:checked”)){
$('.tab1_btn').prop('disabled',false);
}否则{
$('.tab1_btn').prop('disabled',true);
}
当我在此
$('.tab1_btn').prop('disabled',false)之前发出警报时

然后,运行时会显示警报,但在此
$('.tab1_btn').prop('disabled',true)之前也会发出警报2然后警报未显示只有第一个警报显示


如果未选中任何复选框,则需要禁用“下一步”按钮

您需要应用事件处理程序

$('.tab1_btn').prop('disabled', !$('.tab1_chk:checked').length);//initially disable/enable button based on checked length
$('input[type=checkbox]').click(function() {
    if ($('.tab1_chk:checkbox:checked').length > 0) {
        $('.tab1_btn').prop('disabled', false);
    } else {
        $('.tab1_btn').prop('disabled', true);
    }
});

工作代码段:-

要使此工作正常,您需要在任何状态更改时检查是否有任何复选框

为此,您可以将
change
事件处理程序附加到它们,然后使用
:checked
选择器确定是否选择了任何选项,然后根据需要启用/禁用按钮。试试这个:

$('.form check input').change(函数(){
$('#next').prop('disabled',!$('.form check输入:checked').length);
});

选择1
选择2
选择3



下一步
试试下面的代码它对我有用:

$(document).ready(function(){
    checkboxDisable()

    $(".tab1_chk").click(function(){
    checkboxDisable();
  });


  function checkboxDisable(){
    if($(".tab1_chk:checked").length > 0)
    {
      $('.tab1_btn').prop('disabled', false);

    }else{
      $('.tab1_btn').prop('disabled', true);

    }
  }
});

事件处理程序是一个很好的解决方案。。。我爱死它了!!如果您想在页面加载时执行此操作,您可以对现有代码稍作更改,如:

if ($(".tab1_chk").is(':checked')) {
  $('.tab1_btn').prop('disabled', false);
} else {
  $('.tab1_btn').prop('disabled', true);
}

它工作了,我用你的代码试过了

你需要告诉OP,最初的按钮需要被禁用(你在HTML代码中使用的),考虑到页面的初始状态,这部分看起来就像是常识:)非常感谢你现在它按照我的需要工作。。Thanx一次again@Arslan很高兴为您提供帮助:):)如果($('.tab1\u chk:checkbox:checked').length>0)当单选按钮出现时如何更改此行?而不是
checkbox
do
radio
where