![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| zheka1980 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.8.2014 Репутация: нет Всего: нет |
Господа, есть несколько полей
Этим полям присваивается какое-то значение типа float. А есть еще одно поле
Нужно сложить значения всех полей component и записать в поле summary. Причем по техническим причинам это нужно делать только в цикле, то есть вариант summary=component[1]+component[2]+.... не пойдет. Нужно в цикле к summary прибавалять component[i]. А поскольку поле текстовое, я вынужден каждый раз брать данные, обрабатывать их функцией Number, затем складывать, затем записывать.
Работает, но меня не покидает ощущение, что я нагородил чего-то. Нельзя ли как-то проще? МОжно ли сразу input придать только цифровой тип? Я натыкался на информацию о такой возможности, но пишут, то вроде бы не все браузеры подерживают. |
||||||
|
|||||||
| sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
Да вроде все верно. Только вместо Number() я бы использовал parseFloat() ну и DOM лишний раз трогать не стоит. Создайте временную переменную, туда считайте результат, а потом ее запишите в DOM. Ну и разумеется все getElementBy нужно во временную переменную, что бы каждый раз не искать, то же самое и с $('.field').size(). Да и если используете jquery что вам мешает написать $('...').get(i).value?? Добавлено через 7 минут и 31 секунду Что-то вроде (НЕ ПРОВЕРЯЛ, считайте что это псевдокод)
Это сообщение отредактировал(а) sQu1rr - 29.12.2014, 23:27 |
|||
|
||||
| zheka1980 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.8.2014 Репутация: нет Всего: нет |
Вместо чего? В приведенном вами примере данной конструкции не увидел. Я только начал вникать в jquery Неужели это операция присваивания?
|
||||
|
|||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
имелось ввиду, раз уже у вас подключена библиотека jQuery, то разумнее все выборки делать в ней (вместо вашего варианта с getElementsByName). Да. jQuery.val() Только я бы не рекомендовал делать выборку по атрибуту там, где этого можно не делать - все же она не самая быстрая.
PS: в HTML5 атрибут name помечен как deprecated, рекомендуется использовать id. Да и выборки по нему быстрее. |
|||
|
||||
| sQu1rr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 2 Всего: 13 |
wut? только в <img> насколько я знаю, может еще где, но точно не в <input>.
А вообще, да, не нужно придумывать велосипеды, и просто
как сказал мр. Aliance http://api.jquery.com/ - изучайте |
||||
|
|||||
| Aliance |
|
||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
© http://www.w3schools.com/jsref/met_doc_getelementsbyname.asp Добавлено через 3 минуты и 36 секунд Да, текстовых полей это не касается
© http://www.w3.org/TR/html5/obsolete.html |
||||||
|
|||||||
| zheka1980 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 3.8.2014 Репутация: нет Всего: нет |
Все получилось. Спасибо.
Осталась одна деталь, не могу никак правильно написать (какой-то синтаксис Jquery для меня вычурный, если честно) Вот так я получал номер инпута, в котором возникло событие select библиотеки autocomplete:
Так вот как мне теперь, минуя обращение к DOM средставми JavaScript присвоить значение инпуту? Я заменил в инпуте nаmе=ing_caloric на class=ing_caloric и сделал так:
Где-то ошибка... Это сообщение отредактировал(а) Aliance - 11.1.2015, 10:23 |
||||
|
|||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 17 Всего: 137 |
||||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |