Перейти к содержимому


Выпадающий Список В Доставке


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 27

#1 cannis

cannis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 59 сообщений

Отправлено 25 Август 2014 - 12:30

Добрый день в оформлении заказа выбор зоны делается с помощью радиокнопки. Как сделать, чтобы зона выбиралась из выпадающего списка а стоимость показывалась в варианте доставки (а не была приписана к каждой кнопке, как сейчас)
Спасибо.

#2 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 26 Август 2014 - 03:36

подобный вопрос рассматривался у нас на форуме и имеет инструкции:
http://forum.storela...-зоны-доставки/

#3 cannis

cannis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 59 сообщений

Отправлено 26 Август 2014 - 07:12

А можно поподробнее? В своем файле main.js я не нашел кода из инструкции по ссылке.

#4 Ирина345

Ирина345

    Активный участник

  • Модераторы
  • 5 709 сообщений

Отправлено 26 Август 2014 - 07:17

Просмотр сообщенияcannis (26 Август 2014 - 07:12) писал:

А можно поподробнее? В своем файле main.js я не нашел кода из инструкции по ссылке.
Здравствуйте, уточните из какого сообщения Вы не нашли код.
Из первой инструкции,код на строке 830

#5 cannis

cannis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 59 сообщений

Отправлено 26 Август 2014 - 08:45

Просмотр сообщенияИрина345 (26 Август 2014 - 07:17) писал:

Здравствуйте, уточните из какого сообщения Вы не нашли код.
Из первой инструкции,код на строке 830
Здравствуйте,
Код из 1 инструкции не помог. Не нашел я код из сообщения 6. Как я понял это изменение дало результат.

И мне кажется, что в указанной теме решается немного не мой вопрос, нет?

#6 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 27 Август 2014 - 02:58

В теме выше обсуждается вопрос подмены общей цены доставки на цену зоны доставки, инструкция чтобы зоны доставки выбирались из выпадающего списка, который скрывается в одну строку:
http://forum.storela...вки/#entry83944

#7 cannis

cannis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 59 сообщений

Отправлено 27 Август 2014 - 23:11

Я эту тему читал. Возможно, я плохо в этом разбираюсь, но прямая подстановка кодов из той темы мне не помогла. Возможно ли указать, какие изменения в шаблоны нужны в моем конкретном случае?

#8 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 28 Август 2014 - 01:07

Попробуйте следующее, в шаблоне оформление заказа найдите:
<div class="fieldset">
	 <h2 class="legend" title="Выберите удобный для вас способ доставки">Cпособ доставки</h2>
	 <table class="orderStageDeliveryListTable basket">
	 {% FOR order_delivery %}
	 <tbody rel="{order_delivery.ID}">
	 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
		 <td class="cell1" width="5%">
		 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
		 {% IFNOT ORDER_FORM_DELIVERY_ID %}
		 {% IF order_delivery.first %}
		 checked="checked"
		 {% ENDIF %}
		 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
		 checked="checked"
		 {% ENDIF %}
		 />
		 </td>
		 <td class="cell2" width="60%">
		 <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
			 {% IF order_delivery.DESC %}
				 <div class="htmlDataBlock">{order_delivery.DESC}</div>
			 {% ENDIF %}
		 </td>
		 <td class="cell3 price">
		 <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
		 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
		 </td>
	 </tr>
		 {% IFNOT order_delivery.zone_list_empty %}
			 {% FOR zone_list %}
			 <tr class="zones">
			 <td></td>
			 <td>
				 <!-- Заголовок внутри метода доставки, появляется только один раз-->
				 {% IF order_delivery.zone_list.index=1 %}
				 <label for="deliveryId{order_delivery.ID}" class="zones-header">Зоны доставки</label>
				 {% ENDIF %}
				 <input
				 type="radio" class="deliveryZoneRadio" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
				 {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
					 checked="checked" rel="true"
				 {% ENDIF %}
				 />
				 <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}" style="color: #333;">
				 {order_delivery.zone_list.NAME}
				 <span class="deliveryZonePrice" style="color: #333;">{order_delivery.zone_list.END_PRICE | money_format}</span>
				 </label>
			 </td>
			 <td></td>
			 </tr>
			 {% ENDFOR %}
		 {% ENDIF %}
	 </tbody>
	 {% ENDFOR %}
	 </table>
	 </div>
замените на:
<div class="orderStageDelivery">
				 <h3>Выберите удобный для вас способ доставки</h3>
				 <div class="orderInfo">
		   
				 <table class="orderStageDeliveryListTable">
						 {% FOR order_delivery %}
						 <tbody rel="{order_delivery.ID}">
								 <tr>
								 <td class="cell1" rowspan="2">
								   
								   
										 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
										 {% IFNOT ORDER_FORM_DELIVERY_ID %}
												 {% IF order_delivery.first %}
												 checked="checked"
												 {% ENDIF %}
										 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
												 checked="checked"
										 {% ENDIF %}
										 />
								   
								   
								 </td>
								 <td class="cell2">
										 <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
								 </td>
								 <td rowspan="2" class="cell3 num">
										 + <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
										 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
								 </td>
								 </tr>
								 <tr>
								 <td class="cell4">{order_delivery.DESC}</td>
								 </tr>
								 {% IFNOT order_delivery.zone_list_empty %}
								 <tr>
										 <td></td>
										 <td class="cell5">
										 <select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
												 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
												 {% FOR zone_list %}
												 <option value="{order_delivery.zone_list.ID}" data-price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
														 {order_delivery.zone_list.NAME}
												 </option>
												 {%ENDFOR%}
										 </select>
										 </td>
								 </tr>
								 {% ENDIF %}
						 </tbody>
						 {% ENDFOR %}
				 </table>
				 </div>

далее в main.js найдите:
// Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
$('.deliveryZoneRadio').click(function(){

перед ним вставьте:
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo .deliveryZoneRadio').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});


#9 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 28 Август 2014 - 02:04

Обратите внимание на то, что по умолчанию реализация делается для пошагового оформления заказа, а не быстрого оформления. Для быстрого оформления заказа необходимо вносить изменения в шаблон "Быстрый заказ" вместо шаблона "Оформление заказ", а так же вместо файла main.js изменения необходимо вносить в шаблон "Быстрый заказ". Дополнительно почитайте внимательно указанную вам ранее тему, например с сообщения http://forum.storela...__20#entry84997 и выполните недостающие изменения если таковые будут требоваться.

#10 cannis

cannis

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 59 сообщений

Отправлено 28 Август 2014 - 20:37

Спасибо. Все получилось. Я так понимаю теперь при задании зон в в любом виде доставки будет такой список, правильно?

#11 MikDark

MikDark

    Активный участник

  • Модераторы
  • 6 468 сообщений

Отправлено 28 Август 2014 - 20:53

Просмотр сообщенияcannis (28 Август 2014 - 20:37) писал:

Спасибо. Все получилось. Я так понимаю теперь при задании зон в в любом виде доставки будет такой список, правильно?

Да, все верно, должно работать.

#12 ARGO

ARGO

    Активный участник

  • Пользователи
  • PipPipPipPip
  • 833 сообщений

Отправлено 12 Ноябрь 2015 - 11:10

данные инструкции не помогают в шаблоне хамелион. список городов с курьерской доставкой и пунктами выдачи нужно сделать по умолчанию свернутыми.

#13 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 12 Декабрь 2015 - 07:29

В шаблоне Быстрый заказ найдите:
{% FOR order_delivery %}
			  <tbody rel="{order_delivery.ID}">
				<tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
				  <td class="cell1" rowspan="2">
					<input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio inFastOrder"
					  {% IFNOT ORDER_FORM_DELIVERY_ID %}
						{% IF order_delivery.first %}
						  checked="checked"
						{% ENDIF %}
					  {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
						checked="checked"
					  {% ENDIF %}
					/>
				  </td>
				  <td class="cell2">
					<label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
				  </td>
				  <td rowspan="2" class="cell3 pricefield">
				   <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
					<span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
				  </td>
				</tr>
				<tr>
				  <td class="cell4"><p style="color: #333;">{order_delivery.DESC}</p></td>
				</tr>
				{% IFNOT order_delivery.zone_list_empty %}
			   
				  {% FOR zone_list %}
				
					<tr class="zones incart">
					  <td></td>
					  <td>
						<!-- Заголовок внутри метода доставки, появляется только один раз--> 
						{% IF order_delivery.zone_list.index=1 %}
						  <label for="deliveryId{order_delivery.ID}" class="zones-header">Зоны доставки</label><br />
						{% ENDIF %}
						<input
						  type="radio" class="deliveryZoneRadio inFastOrder" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
						  {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
							checked="checked" rel="true"
						  {% ENDIF %}
						/>
						<label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}" style="color: #333;">
						  {order_delivery.zone_list.NAME}
						  <span class="deliveryZonePrice" style="color: #333;">{order_delivery.zone_list.END_PRICE | money_format}</span>
						</label>
					  </td>
					  <td></td>
					</tr>
				  {% ENDFOR %}
				{% ENDIF %}
			  </tbody>
			{% ENDFOR %}

замените на:
{% FOR order_delivery %}
												 <tbody rel="{order_delivery.ID}">
																 <tr>
																 <td class="cell1" rowspan="2">
																  
																  
																				 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
																				 {% IFNOT ORDER_FORM_DELIVERY_ID %}
																								 {% IF order_delivery.first %}
																								 checked="checked"
																								 {% ENDIF %}
																				 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
																								 checked="checked"
																				 {% ENDIF %}
																				 />
																  
																  
																 </td>
																 <td class="cell2">
																				 <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
																 </td>
																 <td rowspan="2" class="cell3 num">
																				 + <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
																				 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
																 </td>
																 </tr>
																 <tr>
																 <td class="cell4">{order_delivery.DESC}</td>
																 </tr>
																 {% IFNOT order_delivery.zone_list_empty %}
																 <tr>
																				 <td></td>
																				 <td class="cell5">
																				 <select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
																								 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																								 {% FOR zone_list %}
																								 <option value="{order_delivery.zone_list.ID}" data-price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
																												 {order_delivery.zone_list.NAME}
																								 </option>
																								 {%ENDFOR%}
																				 </select>
																				 </td>
																 </tr>
																 {% ENDIF %}
												 </tbody>
												 {% ENDFOR %}

Далее найдите:
// Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
  $('.deliveryZoneRadio').click(function(){
	var id = $(this).attr('deliveryid'),
	price = $(this).next().find('.num').text()

перед ним вставьте:
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo .deliveryZoneRadio').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});


После данного изменения в быстром заказе поля зоны доставки будут идти выпадающим списком

#14 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 22 Февраль 2016 - 01:44

Доброго времени суток!

Проделал изменения из сообщения #8 для своего пошагового оформления заказа и почти всё получилось.
Теперь все зоны доставки показываются в выпадающем списке.
Есть два момента, которые хотелось бы доработать.

1. После выбора любой из зон доставки (с разной стоимостью или нет) и дальнейшего оформления заказа, в итоге получается, что зона доставки не учитывается в конечном расчёте стоимости доставки. Считается только стоимость, которая прописана для самого способа доставки. Как сделать так, чтобы в созданном заказе в строке "Доставка" прописывались данные (стоимость и само название зоны) из "зоны доставки", а не из способа доставки?

2. Выпадающие списки с зонами на шаге выбора способа доставки, в своём первоначальном виде появляются в чёрном цвете. Иногда просто даже трудно понять, на каком способе доставки стоит кружок radio. Как сделать так, чтобы изначально выпадающие списки с зонами доставки, были серого цвета? И чтобы чёрным цветом отмечался тот выпадающий список, напротив которого стоит точка radio?

Шаблон Сияние.

#15 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 24 Февраль 2016 - 20:35

Вопрос ещё актуален. Подскажите пожалуйста.

#16 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 28 Февраль 2016 - 20:29

Просмотр сообщенияVaccina (12 Декабрь 2015 - 07:29) писал:

В шаблоне Быстрый заказ найдите:
{% FOR order_delivery %}
			 <tbody rel="{order_delivery.ID}">
			 <tr {% IF order_delivery.first %}class="first"{% ENDIF %}>
				 <td class="cell1" rowspan="2">
				 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio inFastOrder"
					 {% IFNOT ORDER_FORM_DELIVERY_ID %}
					 {% IF order_delivery.first %}
						 checked="checked"
					 {% ENDIF %}
					 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
					 checked="checked"
					 {% ENDIF %}
				 />
				 </td>
				 <td class="cell2">
				 <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
				 </td>
				 <td rowspan="2" class="cell3 pricefield">
				 <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
				 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
				 </td>
			 </tr>
			 <tr>
				 <td class="cell4"><p style="color: #333;">{order_delivery.DESC}</p></td>
			 </tr>
			 {% IFNOT order_delivery.zone_list_empty %}
			
				 {% FOR zone_list %}
				
				 <tr class="zones incart">
					 <td></td>
					 <td>
					 <!-- Заголовок внутри метода доставки, появляется только один раз-->
					 {% IF order_delivery.zone_list.index=1 %}
						 <label for="deliveryId{order_delivery.ID}" class="zones-header">Зоны доставки</label><br />
					 {% ENDIF %}
					 <input
						 type="radio" class="deliveryZoneRadio inFastOrder" deliveryid="{order_delivery.ID}" id="deliveryZoneId{order_delivery.zone_list.ID}" name="form[delivery][zone_id]" value="{order_delivery.zone_list.ID}"
						 {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}
						 checked="checked" rel="true"
						 {% ENDIF %}
					 />
					 <label class="orderStageDeliveryZoneLabel" for="deliveryZoneId{order_delivery.zone_list.ID}" style="color: #333;">
						 {order_delivery.zone_list.NAME}
						 <span class="deliveryZonePrice" style="color: #333;">{order_delivery.zone_list.END_PRICE | money_format}</span>
					 </label>
					 </td>
					 <td></td>
				 </tr>
				 {% ENDFOR %}
			 {% ENDIF %}
			 </tbody>
		 {% ENDFOR %}

замените на:
{% FOR order_delivery %}
												 <tbody rel="{order_delivery.ID}">
																 <tr>
																 <td class="cell1" rowspan="2">
																
																
																				 <input type="radio" id="deliveryId{order_delivery.ID}" name="form[delivery][id]" value="{order_delivery.ID}" class="required deliveryRadio"
																				 {% IFNOT ORDER_FORM_DELIVERY_ID %}
																								 {% IF order_delivery.first %}
																								 checked="checked"
																								 {% ENDIF %}
																				 {% ELSEIF order_delivery.ID = ORDER_FORM_DELIVERY_ID %}
																								 checked="checked"
																				 {% ENDIF %}
																				 />
																
																
																 </td>
																 <td class="cell2">
																				 <label for="deliveryId{order_delivery.ID}">{order_delivery.NAME}</label>
																 </td>
																 <td rowspan="2" class="cell3 num">
																				 + <span class="orderStageDeliveryDefaultPrice" {% IF order_delivery.ZONE_ID>0 %}style="display:none;"{% ENDIF%}>{order_delivery.END_PRICE | money_format}</span>
																				 <span class="orderStageDeliveryZonePrice" {% IF order_delivery.ZONE_ID<1 %}style="display:none;"{% ENDIF%}>{order_delivery.ZONE_END_PRICE | money_format}</span>
																 </td>
																 </tr>
																 <tr>
																 <td class="cell4">{order_delivery.DESC}</td>
																 </tr>
																 {% IFNOT order_delivery.zone_list_empty %}
																 <tr>
																				 <td></td>
																				 <td class="cell5">
																				 <select style="margin-left:0;" class="deliveryZoneRadio" data-deliveryid="{order_delivery.ID}" name="form[delivery][zone_id]" {% IF order_delivery.zone_list.ID = ORDER_FORM_DELIVERY_ZONE_ID %}class="required"{% ENDIF %}>
																								 <option value="0" data-price="{order_delivery.END_PRICE | number_format("0", ",", " ")}"> - выберите зону доставки - </option>
																								 {% FOR zone_list %}
																								 <option value="{order_delivery.zone_list.ID}" data-price="{order_delivery.zone_list.END_PRICE | number_format("0", ",", " ")}" {% IF order_delivery.zone_list.ID=ORDER_FORM_DELIVERY_ZONE_ID %}selected="selected"{% ENDIF %}>
																												 {order_delivery.zone_list.NAME}
																								 </option>
																								 {%ENDFOR%}
																				 </select>
																				 </td>
																 </tr>
																 {% ENDIF %}
												 </tbody>
												 {% ENDFOR %}

Далее найдите:
// Действия при выборе зоны внутри варианта доставки на этапе оформления заказа
$('.deliveryZoneRadio').click(function(){
var id = $(this).attr('deliveryid'),
price = $(this).next().find('.num').text()

перед ним вставьте:
// Смена стоимости доставки при выборе конкретной зоны доставки
$('.orderInfo .deliveryZoneRadio').change(function(){
var value = $(this).find('option:selected').attr('data-price');
$('tbody[rel="' + $(this).attr('data-deliveryid') + '"] .orderStageDeliveryDefaultPrice .num').text(value);
// Установка шарика на пункт зоны доставки
$('#deliveryId' + $(this).attr('data-deliveryid')).click();
});


После данного изменения в быстром заказе поля зоны доставки будут идти выпадающим списком

Помогите пожалуйста)

#17 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 02 Март 2016 - 11:12

!

#18 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 05 Март 2016 - 01:38

!!

#19 Vaccina

Vaccina

    Активный участник

  • Модераторы
  • 24 353 сообщений

Отправлено 05 Март 2016 - 03:53

Простите за ожидание.
1. В main.js найдите:
$('.deliveryZoneRadio').click(function()

замените на:
$('.deliveryZoneRadio').change(function()

далее найдите:
$('.deliveryRadio').click(function() {
		var text = $(this).closest('tbody').find('label').text();
		if($(this).is(':checked') && text.indexOf('Самовывоз по адресу') !== -1) {
		  $('#deliveryAddress').val($.trim(text.replace('Самовывоз по адресу', ''))).attr('disabled', 'disabled');
		}
		else {
		  $('#deliveryAddress').val('').removeAttr('disabled');
		}
  });

после него пропишите:
$('.deliveryRadio:checked').trigger('click');
  $('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
		 $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
  });
  $('.deliveryZoneRadio').change(function(){
		   var price = $(this).find('option:selected').attr('data-price');
		   $(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
  });
2. В main.css добавьте:
select.deliveryZoneRadio {
  color: #ccc;
}
select.deliveryZoneRadio:active, select.deliveryZoneRadio:focus {
  color: #000;
}


#20 timavleev

timavleev

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 135 сообщений
  • ГородМосква

Отправлено 05 Март 2016 - 04:35

Просмотр сообщенияVaccina (05 Март 2016 - 03:53) писал:

Простите за ожидание.
1. В main.js найдите:
$('.deliveryZoneRadio').click(function()

замените на:
$('.deliveryZoneRadio').change(function()

далее найдите:
$('.deliveryRadio').click(function() {
	 var text = $(this).closest('tbody').find('label').text();
	 if($(this).is(':checked') && text.indexOf('Самовывоз по адресу') !== -1) {
		 $('#deliveryAddress').val($.trim(text.replace('Самовывоз по адресу', ''))).attr('disabled', 'disabled');
	 }
	 else {
		 $('#deliveryAddress').val('').removeAttr('disabled');
	 }
});

после него пропишите:
$('.deliveryRadio:checked').trigger('click');
$('.orderStageDeliveryListTable td:not(.cell1, .cell5)').click(function() {
		 $(this).closest('tbody').find('td.cell1 .deliveryRadio').trigger('click');
});
$('.deliveryZoneRadio').change(function(){
		 var price = $(this).find('option:selected').attr('data-price');
		 $(this).closest('tbody').find('.orderStageDeliveryDefaultPrice .num').html(price);
});
2. В main.css добавьте:
select.deliveryZoneRadio {
color: #ccc;
}
select.deliveryZoneRadio:active, select.deliveryZoneRadio:focus {
color: #000;
}

Ничего страшного)
По цвету всё получилось, спасибо!
А вот по стоимости пока нет. Вроде всё сделал по шаблону, но в итоге всё равно стоимость доставки на шаге выбора способа доставки прописывает правильно, а в итоговом заказе оказывается другая (основная для данного способа) цена доставки.

До того, как начал использовать выпадающие списки, а зоны отмечались круглыми кнопками, всё было нормально, цена и информация о "зоне" доставки учитывалась и прописывалась в отдельной графе о доставке.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных