提问者:小点点

如何在jQuery中通过循环选择至少3个复选框


我想允许至少3个复选框将检查,我试过下面的代码但它不是很好地工作。

HTML...

<div class="ywapo_options_container">
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
</div>

jQuery

jQuery(document).ready(function(){
        var parent =jQuery(document).find('#yith_wapo_groups_container').find('.ywapo_options_container');
        
        jQuery(parent).children().each(function(){
            if (jQuery(parent).children().length <=2 ) {
                //console.log("plaeae select at lest 3")
             }
        }); 
         
    });

有人请帮助我,我如何选择至少2个复选框?


共1个答案

匿名用户

要确定选中了多少复选框,只需获取:checked实例的长度(我选中了下面的一个,这样您就可以看到零以外的内容)

null

console.log($('.ywapo_input_checkbox:checked').length);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="ywapo_options_container">
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed" checked>
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
    <div class="ywapo_input_container ywapo_input_container_checkbox">
        <input  placeholder="" data-typeid="48" data-price="0" data-pricetype="fixed" data-index="0" type="checkbox" name="ywapo_checkbox_48[0]" value="ywapo_value_48" class="ywapo_input ywapo_input_checkbox ywapo_price_fixed">
    </div>
</div>