Использование this.value
в элементе выбора не согласовано во всех браузерах. Вам лучше использовать метод jQuery для извлечения значения из элемента select.
Подробнее см. здесь в jQuery FAQ (в основном, это говорит об использовании select.val()
).
Во-вторых, почему вы меняете идентификатор выбора, а не присваиваете его в html напрямую? Изменение идентификаторов также не согласовано в разных браузерах и может повлиять на способ доступа к элементам из домена. Я не понимаю, что вы получаете от этого.
Наконец, если важна производительность, не берите скрытое значение с помощью ('#narudzba :hidden').eq(j+1)
. Поскольку эти скрытые поля имеют идентификатор с цифрой в конце, вам легко получить к ним доступ напрямую (у вас есть параметр j
, и вы знаете, над каким из них вы работаете). Альтернатива - использовать jQuery.next()
и просто перейти к скрытому полю.