|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
||||||
Работа с формами15.06.2015, 09:55. Показов 1155. Ответов 12
Метки нет (Все метки)
Есть форма, позволяющая указать состав изделия и материалы для каждой детали, условно выглядит так:
Радиокнопки указывают вариант исполнения какой-то детали, например застежки. Если все чекбоксы включены, то форма отдает обработчику одинаковое количество значений detail и material если какие-то из чекбоксов отключены, то обработчику значений detail передается меньше чем значений material на количество отключенных чекбоксов. Как сделать так, чтобы если чекбокс отключен (и detail не передается обработчику), то и соответствующий этому чекбоксу material тоже обработчику не передавался. Чтобы обработчику всегда уходило равное количество значений detail и material? Добавлено через 20 часов 55 минут К сожалению там ничего похожего нет. Теоретически я придумал, как упростить задачу, надо проверять состояние каждого чекбокса, и если он включен, - то его value должно быть равно указанному (как в примере), если он выключен, его value должно быть равно нулю, тогда обработчику всегда будет передаваться одинаковое количество detail и material. вопрос, как организовать такую проверку и установку значений чекбоксов? если можно, то на примере приведенной выше формы.
0
|
||||||
| 15.06.2015, 09:55 | |
|
Ответы с готовыми решениями:
12
Работа с формами Работа с формами Работа с формами |
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|
| 15.06.2015, 10:38 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
|
| 15.06.2015, 10:43 [ТС] | |
|
Логично. Можно в виде конкретного кода? т.к. я ноль.
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|||||||
| 15.06.2015, 10:55 | |||||||
1
|
|||||||
|
Модератор
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
|
||||||
| 15.06.2015, 11:01 | ||||||
|
Я бы посоветовал не маяться и использовать для этого чуть более сложную структуру, но более подходящую. Я сейчас говорю о data-bindinge. Связывание данных + шаблонизатор. Шаблонизатор будет решать, что нужно показывать, а что нет, что нужно дизейблить, а что нет. Данные пусть будут в виде объекта, которые и является правилом для шаблона. Это намного упростит управление и отображение элемента.
Шаблонизатор можно взять например этот Связывание написать свое ( довольно простое, зато не придется качать для этого фреймворк или вчитываться в Object.observe )
Как то так
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
|
| 15.06.2015, 11:05 [ТС] | |
|
На самом деле важно, чтобы с формы отдавалось равное количество detail-ов и material-ов, чтобы потом из них построить двумрный массив.
0
|
|
|
Модератор
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
|
|||||||||||
| 15.06.2015, 11:30 | |||||||||||
|
dpts, вот пример, использовал JQ 2.1.1
Без шаблонизаторов и выкрутасов
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
|
| 15.06.2015, 11:34 [ТС] | |
|
Для Lazy_Den.
Благодарю, работает. Только с самого начала не подумал, получается что к каждому чекбоксу с "руковами" нужно приделать еще по 1 input type="hidden" name="detailmod" value="0" (чтобы обработчику на сервере полноценный массив передавался) как доработать вашу функцию, чтобы этот hidden тоже отключался вместе с material-ом? ps. я полный ноль в js
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 15.06.2015, 23:42 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
||||||
| 16.06.2015, 05:13 [ТС] | ||||||
|
Для Lazy_Den:
Но тут заметил еще одну тонкость, если в первых двух деталях, которые "рукава" поля detailmod скрытые, то в последнем, про "молнию" - это радиокнопки. Может я не совсем корректно с самого начала объяснил, чего пытаемся добиться, попробую еще раз. Включая или отключая чекбоксы пользователь говорит какая деталь жилетки ему нужна или не нужна (detail), из чего она должна быть сделана (material) и какой у нее функционал/вариант исполнения, если он есть (detailmod). Если все чекбоксы включены, серверному скрипту передается три тройки значений detail | detailmod | material, которые серверный скрипт простым циклом может записать в массив и дальше обрабатывать как-то, Беда в том, что если чекбокс выключен то он вообще на сервер не передается. То есть допустим если первый чекбокв выключен, на сервер о нем уйдет не тройка detail | detailmod | material, а только пара detailmod | material, соответственно простым циклом записать серверным скриптом полученные данные в массив не получится. Поэтому и нужен скрипт, который будет контролировать каждый чекбокс и если чекбокс выключен, - выключать передачу на сервер связанные с ним detailmod и material. Деталей из которых состоит изделие может быть и больше трех, и вариантов исполнения каждой детали может быть больше 3. Есть изделия из десятка деталей, у каждой из которых 10-15 вариантов исполнения.
0
|
||||||
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|||||||||||||||||
| 16.06.2015, 07:02 | |||||||||||||||||
Сообщение было отмечено Thisman как решение
Решение
UPD В общем, еще раз испугался вашей разметке, подумал, что дальше может быть еще "круче" и предлагаю такой вариант, в надежде, что хоть группы связанных элементов, будут оставаться в одном <tr>:
1
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.06.2014
Сообщений: 20
|
|
| 16.06.2015, 08:06 [ТС] | |
|
Для Lazy_Den.
Ну да - разметка осьминожья. Суть в том, что пытаемся немного докрутить давным-давно самописную CRM, сделанную на ASP+VBscript. Добавлено через 52 минуты Работает. Спасибо большое/
0
|
|
| 17.06.2015, 22:50 | |
|
Не по теме: dpts, конечно дело не моё, но всё-таки можно использовать [nick]Lazy_Den[/nick],
0
|
|
| 17.06.2015, 22:50 | |
|
Помогаю со студенческими работами здесь
13
Различные операции с модальными формами Добавление таблицы с 5ю формами по нажатию на кнопку. JS Паттерны для работы с html - формами
Работа с формами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|