![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
supervladislav |
|
||||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: нет Всего: -9 |
Здравствуйте !!!!Извеняюсь за очень большие посты до этого.У меня есть кусок формы см ниже ,там есть три столбика типов недвижимости ,каждый
из которых помечан радиобаттомом (выводится динамически ) в случае выбора в эллемент найм добовляется элемент value с названием текущего столбика,в столбике с выбаром своиств недвижемости стоит чекбокс,мне необходимо реализовать следущее чтоб при смене радиобаттома на другой, появлялись чеккбоксы в текущем столбике ,но дело в том ,что они выводятся динамически ,как лучше реализовать такое . Я с javascript дружу не очень к сожалению ,но темне менее написал вот енто ,примитивно ttype массив куда передаётся тип недвижимости который был выбран oz-id формы
|
||||
|
|||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Насколько я понял вам нужно сделать так:
Есть чекбоксы верхниго и подчиненного уровня. Когда выбирается чекбокс верхнего уровня все чекбоксы подчиненного становятся доступными для выбора. Если я прав то можно сделать так: Для каждой группы делаете верхний обединяющий их элемент например див. В него помешаете чекбокс верхнего уровня и див с подчиненными чекбоксами. Далее средствами JavaScript при выборе чекбокса находите его предка у этого предка находите потомка div и уже у него пробегаете по всем потомкам чекбоксам и делаете их активными. Вот примерная HTML разметка
Это сообщение отредактировал(а) krundetz - 24.4.2008, 11:05 |
|||
|
||||
supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: нет Всего: -9 |
а какое событие нужно применять будет onchange??? для чекбоксов нижнего(подчинённого уровня) Могли бы вы хотябы намекнуть как это реализовать ,какие средства языка java script использовать???
|
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Все очень просто:
1. В функцию обработчик передаем элемент её вызвавший 2. далее отталкиваясь от него находим предка этого элемента 3. у предка находим потомка div 4. уже у него находим всех потомков <input type="checkbox"> 5. убираем у них атрибут disabled если он стоит или ставит его если не стоит |
|||
|
||||
supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: нет Всего: -9 |
типо вот ентого
|
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Несовсем.
Тоесть вы находите нужный вам элемент и скармливает его этой функции. А точнее у вас после нахождения потомков будет массив из элементов checkbox вы пробегаете этот массив в цикле и для каждого элемента вызываете эту функцию. |
|||
|
||||
supervladislav |
|
|||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: нет Всего: -9 |
а скажите если у меня будет значение в массиве ttype ,кторое динамически будет передаваться из value ,как мне быть в таком случае, я имею ввиду я не совсем доганяю как проверять в таком случае по значению массива какая кнопка нажата.Ну например если значение в массиве ttype=="коммерческая недвижимость" то включаем соотведствующий ему столбец.
|
|||
|
||||
krundetz |
|
||||||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Подразумевается что скрипт знает как сформировать массив элементов которые должны стать доступными после нажатия кнопки или выбора checkbox верхнего уровня.
Допустим. У меня есть такая табличка:
в данном случае мы отметили те чекбоксы которые нам нужны одинаковыми именами, это пример поэтому здесь чекбоксы названы одинакова в реальных условиях нужно будит придумать что то другое для различения чекбоксов нам нужных и ненужных.
это javascript выполняемый при выборе фложка "выбрать четные" Надеюсь смысл стал более понятин. В этой строчке может быть ошибка
так как в подсидневной жизни для поиска необходимых элементов использую jQuery, и как это делается на чистом javascript подзабыл. в общем у вас приходит значение в ttype и у вас в скрипте должно быть определено как по нему выбрать массив необходимых флажков. Это сообщение отредактировал(а) krundetz - 25.4.2008, 14:49 |
||||||
|
|||||||
supervladislav |
|
||||
![]() ///\\\///\\\///\\\ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 18.5.2006 Репутация: нет Всего: -9 |
вот чуть-чуть поправил ,но при смене радиобаттомов отображается только один чеккбокс во втором столбике сверху.
Это сообщение отредактировал(а) supervladislav - 28.4.2008, 13:25 |
||||
|
|||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |