Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обработка Select (https://javascript.ru/forum/dom-window/3278-obrabotka-select.html)

Oleg_Antonov 05.04.2009 01:04

Понимаешь, селект формирует скрипт пхп. У каждого <option> свой value. Например для товара есть два возможных варианта. <option> будут с value равными например 2 и 3.
Через php я из базы вытаскиваю какая цена для этого товара соответствует value 2 и 3. Записываю это дело в массив.
Когда человек выбирает атрибут из списка, скрипт получает value <option>, ищет какой массив ему соответствует. Вытаскивает из этого массива данные и дальше работает с ними.
P.S. Значения выпадающего меню формирует скрипт. Сам пользователь не в какие поля данные не вводит. Зачем какая-то проверка?

x-yuri 05.04.2009 01:48

сорри, я туплю - проверка для select, естественно, не нужна
потом:
1) если a - это твой массив, то будет что-то типа a[z] (если там только цена хранится)
2) вместо создания внешнего массива (если не xhtml) можно создавать свои атрибуты (со своим названием, например, price), в которых и хранить допольнительную информацию

Oleg_Antonov 05.04.2009 16:26

В массиве хранится два значения. Первое число - цена, второе строка - "+" или "-". Дальше я буду по нему проверять что делать с первым значением, прибавлять или вычитать из главной цены. Получается массивы вот такого вида:
var a3 = [0.0000, "-"];

var priceOld = 1000;
var newPrice=priceOld + a.z[0];
Не работает последняя строчка. Как правильно написать, чтобы в переменную newPrice попадала сумма переменной priceOld и первое значение массива а3? такой вариант: var newPrice=priceOld + a3[0]; конечно работает, но проблема в том, что цифра после буквы a (в данном случае 3) это значение переменной, в которую помещается value выбранного пункта в селект.

x-yuri 05.04.2009 16:37

а зачем тебе отдельно цена и отдельно знак?
p.s. a.z[0] значает 0-ой элемент массива, который содержится в свойстве с именем z объекта a

Oleg_Antonov 05.04.2009 19:24

Будет условие если "-" отнять добавочную стоимость из основной цены, "+" добавить.
Так как лучще сделать? Может как-то формировать массив по-другому?

x-yuri 06.04.2009 08:48

я так и не понял, почему нужно отедельно знак хранить
но если нужно, то твоя ошибка в том, что a[z] это не то же самое, что a['z'] (или a.z)

SureGOOD 15.05.2009 20:04

Не разберусь(
 
у меня чего то не работает, в JS очень не силен(
var z=document.cart_quantity.nameSelect.value;
выдает document.cart_quantity is undefined
отсюда вопрос, что такое cart_quantity? пробовал присваивать форме id и подставлять вместо cart_quantity, но пишет ту же ошибку, только подставляет мое имя формы...

x-yuri 16.05.2009 03:23

name формы


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