多个复选框要求使用jquery启用禁用下拉框

时间:2014-08-22 05:03:10

标签: javascript jquery html

首先,我做了搜索,然后发现这个Enable/Disable a dropdownbox in jquery让我走上正轨。我是jquery的新手,所以当看到其他代码时,我可以调整它以适应并为我工作。

所以我要问的是你如何检查两个复选框条件是否属实?

<script>
    $(document).ready(function() {
         $("#box1").click(function() {
           if ($(this).is(":checked")) {
              $("#tech1").prop("disabled", false);
           } else {
              $("#tech1").prop("disabled", true);  
           }
         });
        });
</script>

我希望如果选中box1和box2启用此框?我知道你可以用if语句来做,但我不确定它到底在哪里。提前谢谢。

这会有效吗?

$("#box1").click(function() {
    if ($(this).is(":checked")) &&
$("#box2").click(function() {
    if ($(this).is(":checked"))

我不工作,我假设那是因为上面创建了两个函数,而不是我需要的if语句。

2 个答案:

答案 0 :(得分:3)

在事件处理程序中包含两者,并检查是否都选中了

$(document).ready(function() {
    var boxes = $("#box1, #box2");

    boxes.on('change',  function() {

       var disabled = boxes.filter(':checked').length === boxes.length;

       $("#tech1").prop("disabled", disabled);

    });
});

FIDDLE

答案 1 :(得分:0)

考虑 box1&amp; box2 复选框使用css类定义,如下所示:

<input type="checkbox" id="box1" class="boxes" />
<input type="checkbox" id="box2" class="boxes" />

现在你可以使用box类作为jquery选择器来完成你的任务

<script>
$(document).ready(function() {
    $(".boxes").click(function(){
         if($(".boxes:checked").size() == $(".boxes").size()){
            $("#tech1").prop("disabled", false);
         }else{
            $("#tech1").prop("disabled", true);  
         }
     );
});