首页 > 解决方案 > 如何检查每个表单值,并检查特定的复选框

问题描述

我尝试创建检查每个表单的函数,即数量名称的输入> 1。

所以我对每个产品都有单独的表格(完全相同的表格)和复选框。当有人以多种形式更改输入值数量(例如 3、5、4)并选中其中一种形式的复选框时,数量大于 0 时的所有复选框都应选中。或者当复选框在其他表单中被选中,并且有人在下一个表单上更改输入数量时,它应该自动选中此复选框。因此,它应该为所有数量超过 1 的表单自动选中复选框(如果有人只选中一个复选框)。

$('form.form_product').each(function (index) {
    let quantity = $(this).find('.quantity').val();
    let bring_checkbox = $(this).find('input.do-bringing');
    let all_checkboxes
    console.log(bring_checkbox);

    $(bring_checkbox).change(function () {
        if (quantity == 0) {
            console.log('zero');
            $(bring_checkbox).prop('checked', false);
        } else {
            $(bring_checkbox).prop('checked', true);
            console.log(index + ' ' + quantity);
        }
    });
});

                <form name="form_add_to_cart" method="POST" class="form_product" id="form_add_to_cart-<?php echo $product_id; ?>" action="">
                    <div class="row">

                        <div class="price-value col-md-2 col-6">
                            <p><?php echo $product_price; ?> zł</p>
                        </div>
                        <div class="quantity-input col-md-3 col-6">
                            <div class="quantity">
                                <input class="form-control quantity" type="number"
                                       id="quantity-<?php echo $product_id; ?>" name="quantity"
                                       max="1000" placeholder="0"
                                       value="<?php echo $product_quantity_added ;?>" >
                            </div>
                        </div>
                        <div class="checkbox-input do-bringing col-md-12 col-12">
                            <div class="row">
                                <div class="wash-texter col-md-4 col-12">
                                    <p>Proszę o wniesienie</p>
                                </div>
                                <div class="wash-price col-md-3 col-12">
                                    <p><?php echo $product_bringing_price; ?> zł</p>
                                </div>
                                <div class="checkbox-div col-md-2 col-12">
                                    <input type="checkbox" class="form-control do-bringing" id="do_bringing-<?php echo $product_id; ?>"
                                           name="do_bringing">
                                </div>
                                <div class="final-bringing-price col-md-3 col-12">
                                    <input class="non-edit-input final-price-bringing-value final-price"
                                           id="final_bringing_price" name="final_bringing_price-<?php echo $product_id; ?>"
                                           value="0"
                                           readonly="readonly">
                                </div>
                            </div>
                        </div>
                        <div class="add-to-cart-div col-md-6 col-12">
                            <input class="add-to-cart-button btn btn-primary" type="submit"
                                   name="add_to_cart"
                                   id="add_to_cart-<?php echo $product_id; ?>"
                                   value="Dodaj">
                        </div>
                    </div> <!-- END ROW FORM GROUP -->
                </form>

标签: javascripthtmljqueryformsforeach

解决方案


推荐阅读