Javascript 正确选中复选框时如何启用?

Javascript 正确选中复选框时如何启用?,javascript,html,bootstrap-4,Javascript,Html,Bootstrap 4,我试图在选中复选框时启用一个按钮,但我不知道我的代码出了什么问题 $(文档).ready(函数(){ $(“.checkboxdav”)。关于(“更改”,函数(e){ 如果($(“.checkboxdav”).attr(“选中”)){ $(“.submit”).removeAttr(“禁用”); }否则{ $(“.submit”).attr(“禁用”、“禁用”); } }); }); Declaro que tengo la autorización del 维希库洛公寓酒店 索特。 共青团

我试图在选中复选框时启用一个按钮,但我不知道我的代码出了什么问题

$(文档).ready(函数(){
$(“.checkboxdav”)。关于(“更改”,函数(e){
如果($(“.checkboxdav”).attr(“选中”)){
$(“.submit”).removeAttr(“禁用”);
}否则{
$(“.submit”).attr(“禁用”、“禁用”);
}
});
});

Declaro que tengo la autorización del
维希库洛公寓酒店
索特。
共青团

选中的
属性值不会随复选框的状态而改变,而选中的
属性会随复选框的状态而改变。因此,确定是否选中复选框的跨浏览器兼容方法是使用以下属性:

  • if(元素已选中)
  • if($(elem).prop(“选中”)
  • if($(elem).is(“:checked”)
因此,您可以像这样更新代码:

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

这段代码应该可以正常工作

<!DOCTYPE html>
<html>
<head>
  <title>Bootstrap Example</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Dropdowns</h2>
  <p>The .dropdown class is used to indicate a dropdown menu.</p>
  <p>Use the .dropdown-menu class to actually build the dropdown menu.</p>
  <p>To open the dropdown menu, use a button or a link with a class of .dropdown-toggle and data-toggle="dropdown".</p>                                          
   <input type="checkbox" class="custom-control-input checkboxdav" id="customCheck1">
                    <label class="custom-control-label" for="customCheck1">Declaro que tengo la autorización del
                        propietario del vehículo para suministrar sus datos a Davivienda para la compra del
                        SOAT.</label>
                </div>
                <div class="col-12 px-0 d-flex justify-content-center mt-3">
                    <button type="submit" id="submit-form" class="submit primary-btn px-4 py-2"
                        disabled>Cotizar</button>
                </div>
</div>

</body>
<script>
 $(document).ready(function() {

  $(".checkboxdav").on("change", function(e) {
    if ($(".checkboxdav").is(":checked")) {
      $(".submit").prop('disabled', false);
    } else {
      $(".submit").prop('disabled', true);
    }
  });
});
</script>
</html>


引导示例
下拉菜单
.dropdown类用于指示下拉菜单

使用.dropdown菜单类实际构建下拉菜单

要打开下拉菜单,请使用按钮或带有.dropdown toggle和data toggle=“dropdown”类的链接。

Declaro que tengo la autorización del 维希库洛公寓酒店 索特。 共青团 $(文档).ready(函数(){ $(“.checkboxdav”)。关于(“更改”,函数(e){ 如果($(“.checkboxdav”).是(“:checked”)){ $(“.submit”).prop('disabled',false); }否则{ $(“.submit”).prop('disabled',true); } }); });
尝试以下代码

$('.checkboxdav').on('change', function (e) {
     e.preventDefault();
     if ($(this).is(':checked')) {
         $('#submit-form').attr('disabled', true);
     } else {
         $('#submit-form').removeAttr('disabled', 'disabled');
     }
});

有控制台错误吗?还有什么是
.button('enable')
?修复您的HTML并更改
.button('enable')
,但此新更改没有控制台错误我在控制台
jquery\uu WEBPACK\u IMPORTED\u MODULE\u 1\uuuuuuuu默认(…)(…)上得到了此项。按钮不是HTMLInputElement.eval(index.js?b635:7)在HTMLInputElement.dispatch上的函数(jquery.js?1157:5237)在HTMLInputElement.elemData.handle(jquery.js?1157:5044)
对我有用!谢谢