【问题标题】:WooCommerce - Force a selection in dropdown menuWooCommerce - 在下拉菜单中强制选择
【发布时间】:2015-07-14 12:39:43
【问题描述】:

我会尽力解释这个问题。

我有一个 woocommerce 披萨配送网站。人们可以登录并选择他们想要的带有额外内容(橄榄、蘑菇等)的比萨,并在 Junior size 或 Normal size 之间进行选择。

额外的东西是复选框,因为它们必须被允许选择不同的东西。

然而,尺寸是一个下拉菜单,因为他们必须选择其中一个。普通尺寸是全价,初级尺寸是全价-1。除非他们选择 2 个选项之一,否则不会显示价格。

当访问者忘记选择尺码时,问题就出现了。基本上,如果他们忘记这样做并订购,则订单将按 0 欧元结算。

我已经尝试了数百万种方法来解决这个问题,但我现在肯定被卡住了。我唯一剩下的想法是在加载页面时实际强制下拉菜单选择一个选项(正常大小)。

所以基本上下拉菜单不会说“请选择一个”,但会马上说“正常”。访问者可以,如果他们愿意,改为初级,但至少如果他们不这样做,订单将按全价而不是 0 欧元进行。

下拉菜单的代码如下:

<div ng-repeat="option in post.food track by $index">
    <div ng-if="option.type =='select' ">
        <label>{{option.title}}</label>
        <div ng-if="option.variation == 'yes'">
            <select ng-model="option.selectedOption" ng-change="addSelectOption( option , option.id  , option.selectedOption , post.formOption , post.new_price )" ng-options="attr as attr.text for attr in option.options" ></select>         
        </div>
        <div ng-if="option.variation == 'no' || !option.variation">
            <select ng-model="option.selectedOption" ng-change="addSelectOption( option , '', option.selectedOption , post.formOption , post.new_price )" ng-options="attr as attr.text for attr in option.options" >
                <option value="">Please select</option>
            </select>               
        </div>
    </div>
</div>

只有 2 个选择,所以我想强制第一个选择(“正常”)。

1) 有可能吗?

2) 你能告诉我如何从我在这里展示给你的代码中做到这一点吗?

我真的很想在这个问题上寻求帮助......

【问题讨论】:

  • 你不能只使用可变产品吗?创建 2 个变体...常规和初级,并选择“常规”作为默认值。另外,我对使用 WooCommerce 做披萨表示赞赏。比萨就是爱!

标签: php wordpress drop-down-menu woocommerce html-select


【解决方案1】:

在这种情况下,一个更好的解决方案是使用 ajax 并禁用提交按钮,除非从下拉菜单中选择了除“请选择”之外的任何选项。你可以通过 ajax 轻松实现。

如果这能解决您的问题,请告诉我。

【讨论】:

    【解决方案2】:

    由于您使用的是 Angularjs。 只需定义模型 option.selectedOption = 'normal' 默认情况下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-25
      相关资源
      最近更新 更多