php - Magento 2:分组产品 - 将 QTY 字段更改为下拉列表
问题描述
我在 Magento CE2.4.2 中创建了一个分组产品。我不想为每个选项设置一个文本输入字段,而是使用下拉菜单。
这是原始的 Magento 代码:
<input type="number"
name="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
data-selector="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
value="<?= $block->escapeHtmlAttr($_item->getQty() * 1) ?>"
title="<?= $block->escapeHtmlAttr(__('Qty')) ?>"
class="input-text qty"
data-validate="{'validate-grouped-qty':'#super-product-table'}"
data-errors-message-box="#validation-message-box"/>
我已将其更改为:
<select name="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
data-selector="super_group[<?= $block->escapeHtmlAttr($_item->getId()) ?>]"
class="qty-select" id="qty" type="number"
data-validate="{'validate-grouped-qty':'#super-product-table'}"
data-errors-message-box="#validation-message-box" />
<option selected value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
不幸的是,这不起作用。尝试将任何数量的任何选项添加到购物车时,我收到以下错误消息:
Please specify the quantity of product(s).
出于测试原因,我还尝试删除“0”选项,但这并没有改变任何东西。
谁能指出我做错了什么?
谢谢!亚历克斯
解决方案
好吧,我现在意识到我的错误了。我从 select 元素中删除了 JS 验证部分:
data-validate="{'validate-grouped-qty':'#super-product-table'}"
data-errors-message-box="#validation-message-box" />
删除它后,它工作正常。所以我将在这个时间点传递内联验证。
推荐阅读
- javascript - Sweetalert2 消息与 R 中的下拉菜单闪亮
- angularjs - 我需要在我的 html 上显示我的 forEach 的结果
- python - 使用带有 cross_val_score 的自定义估算器失败
- spock - 看到 Spock 的奇怪行为和从 AWS API Gateway SDK 生成的代码
- qt - 如何允许 QDockWidget 停靠到多个 QMainWindow 实例
- css - 如何在 wordpress 中创建全角内容?
- python - 给定条件删除相邻的重复项
- css - Angular 6 动态地将 CSS 类应用于 mat-cell
- java - Eclipse 项目资源管理器视图,错误器
- css - 有没有办法在悬停时同时运行多个 CSS 动画?