Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Массив параметров товара (https://javascript.ru/forum/jquery/40028-massiv-parametrov-tovara.html)

Костян 22.07.2013 09:42

Массив параметров товара
 
Здравствуйте. На сайте необходимо реализовать функционал, подобный этой странице: http://www.nikkenru.su/collection/ni...werband-19sm-2

Суть в следующем: при выборе параметров: цвет, размер, меняется артикул и цена, соответствующие параметрам. Второй день ломаю голову над структурой массива, который необходимо передавать на страницу. В голове крутится что-то типа:
артикул = (
'цвет' => 'желтый',
'размер' => '11мм'
'цена' => '1100'
)


но как это реализовать..и при этом удобно перебрать при событиях - изменениях селектов.

Подскажите пожалуйста конструкцию, наиболее подходящую под эту задачу.

ОлегА 22.07.2013 09:59

на скорую руку написал

<select id="select_color">
  <option value="1">Желтый</option>
  <option value="2">Красный</option>
  <option value="3">Синий</option>
</select>
<select id="select_mm">
  <option value="1">11mm</option>
  <option value="2">12mm</option>
  <option value="3">13mm</option>
</select>


$(function(){
  var tovars = {
      11 : 1100, // цена для желтого 11мм
      12 : 1200, // цена для желтого 12мм
      13 : 1300, //...
      21 : 1400, // цена для красного 11мм
      22 : 1500, // ...
      23 : 1600,
      31 : 1700,
      32 : 1800,
      33 : 1900
  }
  $('#select_color').change(function(){
      id_color = $(this).val()

      if( $('#select_mm').val() ){
          tovar = id_color+''+$('#select_mm').val()
          alert(tovars[tovar])
      }
  })

  $('#select_mm').change(function(){
      id_color = $(this).val()

      if( $('#select_color').val() ){
          tovar = id_color+''+$('#select_color').val()
          alert(tovars[tovar])
      }
  })
});

Костян 22.07.2013 11:39

ОлегА, огромное спасибо за наводку!


Часовой пояс GMT +3, время: 08:07.