将选中的值设置为0而不是

时间:2018-03-26 19:25:01

标签: php magento

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

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

当启用复选框时,即使显示的数量为0(在$ i = 0操作的选择选项中生成),数量输入值也默认为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; ?>

0 个答案:

没有答案