2015-07-14 2 views
1

Постараюсь объяснить проблему как можно лучше.WooCommerce - Принудительный выбор в выпадающем меню

У меня есть сайт доставки пиццы woocommerce. Люди могут войти в систему и выбрать пиццу, которую они хотят, с дополнительными (оливки, грибы и т. Д.) И выбрать между младшим размером или нормальным размером.

Дополнительные опции - это флажки, так как им разрешено выбирать разные вещи.

Размер, однако, выпадающее меню, так как они должны выбрать один из них. Нормальный размер - полная цена, младший размер - полная цена -1. Цена не отображается, если они не выбирают один из двух вариантов.

Проблема возникает, когда посетители забывают выбрать размер. В принципе, если они забывают это сделать и заказывают, порядок проходит через 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> 

Есть только два варианта, поэтому я хочу, чтобы заставить 1-ый выбор («Normal»).

1) Возможно ли это?

2) Можете ли вы рассказать мне, как это сделать из кода, который я вам показал?

Я действительно отчаянным помощь на этом ...

+0

Не можете ли вы использовать переменный продукт? Создайте 2 варианта ... regular и junior и выберите «regular» как значение по умолчанию. Кроме того, я приветствую использование WooCommerce для пиццы. Пицца - это любовь! – helgatheviking

ответ

0

Лучшее решение для вас в этой ситуации является использование Ajax и отключил кнопку отправки, если какой-либо параметр не выбран из выпадающего меню, кроме «Пожалуйста, Выбрать'. Вы можете легко достичь этого путем ajax.

Дайте мне знать, если это решит вашу проблему.

0

Поскольку вы используете Angularjs. Определите модель option.selectedOption = 'normal' по умолчанию.

Смежные вопросы