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

Реферальная программа Мегаплана

Партнерская программа Kredov

Взаимосвязанные списки

#1 vitlav

vitlav
  • Пользователь
  • 113 сообщений
  • Репутация: 1
0

Отправлено 06 Июль 2010 - 05:55

Есть вот такой кусок кода:

<!-- Цена /-->
  <p>
  {if $product->variants[0]->discount_price>0}
  <span class="price"><span id=variant_price>{$product->variants[0]->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span> {$currency->sign|escape}</span>
  {/if}
  </p>
  <p>
  {if $product->variants2[0]->discount_price>0}
  <span class="price2"><span id=variant_price2>{$product->variants2[0]->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}</span> {$currency->sign|escape}</span>
  {/if}
  </p>
  <!-- Цена #End /-->

  <form action=cart method=get>
  <p>
  {if ($product->variants|@count > 1) OR ($product->variants2|@count > 1)}
  <!-- Варианты товара /-->
  <select name=variant_id onchange="display_variant(this.value);return false;">
  {foreach from=$product->variants item=variant}
  <option value='{$variant->variant_id|escape}'>{$variant->name|escape}<strong></strong><br>
  {/foreach}
  </select>
  <select name=variant_id2 onchange="display_variant2(this.value);return false;">
  {foreach from=$product->variants2 item=variant2}
  <option value='{$variant2->variant_id|escape}'>{$variant2->name|escape}<strong></strong><br>
  {/foreach}
  </select>
  <input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
  <script>
  var variants_prices = new Array;
  var variants_prices2 = new Array;
  {foreach from=$product->variants item=variant}
  variants_prices[{$variant->variant_id|escape}] = '{$variant->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
  {/foreach}
  {foreach from=$product->variants2 item=variant2}
  variants_prices2[{$variant2->variant_id|escape}] = '{$variant2->discount_price*$currency->rate_from/$currency->rate_to|string_format:"%.2f"}';
  {/foreach}
  {literal}
  function display_variant(variant)
  {
	  document.getElementById('variant_price').innerHTML = variants_prices[variant];
  }
  function display_variant2(variant2)
  {
	  document.getElementById('variant_price2').innerHTML = variants_prices2[variant2];
  }
  {/literal}
  </script>

  {elseif ($product->variants|@count == 1) OR ($product->variants2|@count == 1)}
  <input type=hidden name=variant_id value='{$product->variants[0]->variant_id}'>
  <input type=hidden name=variant_id2 value='{$product->variants2[0]->variant_id}'>
  <input type=button class="link_to_cart" onclick="document.cookie='from='+location.href+';path=/';this.form.submit();">
  {/if}
  <!-- Варианты товара #END /-->

  </p>

Результатом которого являеться вот такой вывод:

1.jpg

Работает так:

При выборе из первого выпадающего списка (где по дефолту "Зеленый") меняется цена которая выделена ЖИРНЫМ и КРУПНЫМ;

При выборе из второго выпадающего списка (где по дефолту "Большой") меняется цена которая мельче;

Необходимо сделать следующим образом:

При выборе одного из вариантов, либо первого либо второго - меняться должна только ЖИРНАЯ И КРУПНАЯ цена.

Кто может реально помочь, просьба написать тут, очень жду :blink:

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 06 Июль 2010 - 11:45

vitlav, что значит меняться? Меняться значение цены? Просто не пойму в чем у вас загвоздка. Вы не можете привязать оба селектора к одному блоку или что?
  • 0

#3 vitlav

vitlav
    Topic Starter
  • Пользователь
  • 113 сообщений
  • Репутация: 1

Отправлено 07 Июль 2010 - 01:57

Да мне оба селектора надо привязать к одному блоку. И в зависимости от выбора он должен меняться
  • 0

#4 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 07 Июль 2010 - 17:54

Так яваскрипт надо использовать. А если данных много и они меняются, то AJAX! =)))
  • 0

#5 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Июль 2010 - 18:18

vitlav, опиши подробнее что ты хочешь получить. Слова, толку не дадут:

мне оба селектора надо привязать к одному блоку

1) Откуда берутся данные, помещаемые в блок, что это за данные?
2) Что значит, что блок должен быть связан с двумя селекторами? Я так понимаю... Нужно чтобы в зависимости от значений в ОБОИХ селекторах выбиралось какое-то значение ХЗ откуда и помещалось в блок.
Уточни, распиши, иначе мы тебе помочь не сможем.
  • 0


Оформление форума – IPBSkins.ru