预期的功能是用户输入数量的组件,然后将其添加到购物车 .

这里的问题是,通过Magento Bundles,需要一个复选框来输入不同数量的多个选项 . 下面的代码启用所有复选框,这些复选框启用qty输入字段,然后隐藏复选框 .

当启用复选框时,即使显示的数量为0(在$ i = 0操作的选择选项中生成),qty输入值也默认为1 .

因此,即使您选择了一个组件中的2个,也会将每个其他组件中的一个添加到购物车中 . 在提交表单时,从输入下拉列表中选择0不会返回该值 .

我无法弄清楚如何将检查的默认值设置为0而不是1.我唯一能想到的是收集当前用户输入但是当我尝试通过$ _POST []将输入存储为变量时没有回报 .

任何人都有任何其他想法或者可能知道如何将默认选中的值从1更改为0?

Input section. Drop down menu is enabled when checkbox is checked. Checkbox is set to style="display:hidden". Input shows 0 however the current value of getSelectionID() is 1.

<input onclick="bundle.changeSelection(this)" 
                class="change-container-classname checkbox bundle-option-<?php echo $_option->getId() ?>
                <?php if ($_option->getRequired()) echo 'validate-one-required-by-name' ?>"
                id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" 
                type="checkbox" 
                name="bundle_option[<?php echo $_option->getId() ?>][]" 
                checked="checked" 
                defaultValue="0" 
                style="display:none" 
                <?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> 
                value="<?php echo $_selection->getSelectionId()  ?>

                "/>

                <?php if ($_canChangeQty) : ?>
                    <span class="qty-opt">
                        <select style="width:50px;"
                                id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>-qty-input"
                                onchange="bundle.changeOptionQty(this, event)" 
                                <?php if ($memory_type) : ?> data-memory-type="<?php echo $memory_type; ?>"<?php endif; ?>
                                name="bundle_option_qty[<?php echo $_option->getId() ?>][<?php echo $_selection->getSelectionId() ?>]"
                                class="qty">
                            <?php for ($i = 0; $i <= $maxQty; $i++) : ?>
                                <?php if ($i <= $stockOnHand) : ?> <option value="<?php echo $i; ?>"><?php echo $i; ?></option> <?php endif; ?>
                            <?php endfor; ?>
                        </select>
                    </span>

                <?php else: ?>
                    <span class="qty-opt">
                        <label><?php echo $this->__('Qty:') ?>&nbsp;</label>
                        <?php echo $_defaultQty ?>
                    </span>
                <?php endif; ?>