Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отметить все нужные radio в форме одним кликом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
AlexGreF
Отправлено: 02 Мая, 2010 - 07:15:15
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




Есть такая форма:
CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3. <form action="?act" method="POST">
  4. <input type="radio" name="nmoney_sel_all" value="1" id="money_1sel" checked onClick="set_all(1);"> $ <br>
  5. <input type="radio" name="nmoney_sel_all" value="2" id="money_2sel" onClick="set_all(2);"> Евро <br>
  6. <input type="radio" name="nmoney_sel_all" value="3" id="money_3sel" onClick="set_all(3);"> руб.<br>
  7.  
  8. <br><br>
  9.  
  10. while($dt = mysql_fetch_array($result)){
  11.   Объявление <?=$dt['id']?>:<br>
  12.   <input type="radio" name="nmoney_sel[<?=$dt['id']?>]" value="1" id="money_1sel<?=$dt['id']?>" checked> $ <br>
  13.   <input type="radio" name="nmoney_sel[<?=$dt['id']?>]" value="2" id="money_2sel<?=$dt['id']?>"> Евро <br>
  14.   <input type="radio" name="nmoney_sel[<?=$dt['id']?>]" value="3" id="money_3sel<?=$dt['id']?>"> руб.<br>
  15. }
  16.  
  17. <br><br></form>
  18.  


Как видите, в начале формы есть три radio-переключателя, и ниже ещё множество переключателей по три штуки в одном объявлении. $dt['id'] принимает разные значения(цифровые). Нужно чтобы при переключении верхних radio автоматически и переключались все нижние в то же положение. Например если вверху поставить Radio в евро, то и все остальные radio переключились на евро. Ну то есть нужно написать функцию set_all (Вызывается при клике на верхних переключателях).

(Отредактировано автором: 02 Мая, 2010 - 11:09:13)



-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
AlexGreF
Отправлено: 02 Мая, 2010 - 11:08:18
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




Разобрался сам уже.. На jquery..
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function set_all(num){
  3.         $("form input:radio[id^='money_"+num+"sel']").attr("checked","checked");
  4. }
  5.  


-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
JustUserR
Отправлено: 02 Мая, 2010 - 11:50:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AlexGreF пишет:
Разобрался сам уже.. На jquery..
И ради выделения группы флажков пользователю придется скачивать большущий JS-файл с данным фреймворком
Конечно же на самом деле все решалось гораздо проще
CODE (javascript):
скопировать код в буфер обмена
  1. document.onclick=function(ev)
  2. {var elm=(ev) ? ev.srcElement : event.srcElement
  3. if((elm.tagName)&&(elm.tagName.toUpperCase=="INPUT")&&
  4. (elm.type)&&(elm.type.toUpperCase=="RADIO"))
  5. {var res_num=-1; for(var i=0;i<elm.length;i++)
  6. {if(elm[i].checked) {res_num=i} else {}  }
  7. // Здесь выделяете все res_num-ные флажки которые нужны при выборе данного флажка
  8. }
  9. else {}
  10. }


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
AlexGreF
Отправлено: 02 Мая, 2010 - 22:02:10
Post Id



Новичок


Покинул форум
Сообщений всего: 44
Дата рег-ции: Март 2009  
Откуда: Амурка


Помог: 0 раз(а)




JustUserR пишет:
И ради выделения группы флажков пользователю придется скачивать большущий JS-файл с данным фреймворком


Всё равно на сайте используется этот фреймворк(для других целей), весит 55.9кб. Поэтому и сделал на нём, так проще..


-----
Моё место во фрилансе - http://weblancer[dot]net/users/alexsava
 
 Top
JustUserR
Отправлено: 03 Мая, 2010 - 02:07:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




AlexGreF пишет:
Всё равно на сайте используется этот фреймворк(для других целей), весит 55.9кб. Поэтому и сделал на нём, так проще..
Может быть это проще и по объему JS-файла фреймвра не так много - но реальная производительность особенно при большом числе элементов на странице будет падать
Дело в том что обработка событий и доступ к элементам уже не является JS-нативным и соответственно требует больше ресурсов - аналогично как обработка on_event для каждого из элементов в DOM-моделе более долгая чем шаблонная обработка в общем обработчике события типа document.on_event*


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB