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 :: checkbox + js [2]

 PHP.SU

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


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

> Без описания
LIME
Отправлено: 27 Июля, 2012 - 16:56:22
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




а теперь у меня вопрос
почему тут у нас nextSibling - undefined ?
PHP:
скопировать код в буфер обмена
  1.  echo "<script type='text/javascript'>
  2.       function action_checkbox(el)
  3.       {
  4.        if(el.checked == true) {
  5.        el.nextSibling.style.display = 'inline';
  6.       } else {
  7.       el.nextSibling.style.display = 'none';
  8.       }  
  9.       }
  10. </script>";    
  11. for($i = 0; $i < 15; $i++){    
  12.   echo "      
  13.       <form>
  14.       <input type='checkbox' onClick='action_checkbox(this)' />
  15.       <input type='submit' value='Удалить выделенные дилоги' style='display:none;'>
  16.       </form>";
  17. }

(Добавление)
тоесть если хоть 1 чекнут есть кнопка
если нет то нет
нормально надо объяснять сразу
зачем людей заставлять 2 раза писать
(Добавление)
ну вот хоть через счетчик
PHP:
скопировать код в буфер обмена
  1. <?
  2. echo "<script type='text/javascript'>
  3.   var i=0;
  4.     function action_checkbox(v)
  5.     {
  6.      if(document.getElementById('checkbox'+v).checked == true) {
  7.      i++;
  8.      document.getElementById('checkboxOn').style.display = 'inline';
  9.     } else {
  10.     i--;
  11.      if (i==0)  document.getElementById('checkboxOn').style.display = 'none';
  12.     }  
  13.     }
  14. </script>";    
  15. for($i = 0; $i < 15; $i++){    
  16.   echo "      
  17.     <form>
  18.     <input type='checkbox' id='checkbox".$i."' onClick='action_checkbox(".$i.")' />
  19.     <div id='checkboxOn' style='display:none;'>
  20.     <input type='submit' value='Удалить выделенные дилоги'>
  21.     </div>
  22.     </form>";
  23. }
  24.  
 
 Top
maragon
Отправлено: 27 Июля, 2012 - 17:02:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 340
Дата рег-ции: Февр. 2011  


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




Мы победили! Спасибо дружище! Подмигивание

(Отредактировано автором: 27 Июля, 2012 - 17:03:32)



-----
https://vk[dot]com/tvoycase_ru - Твой чехол со своим дизайном
 
 Top
LIME
Отправлено: 27 Июля, 2012 - 17:03:58
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




у меня порядок
чето затер может
(Добавление)
"мы пахали я и трактор"

кто на мой вопрос ответит?
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Июля, 2012 - 17:23:33
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




LIME пишет:
почему тут у нас nextSibling - undefined ?

Потому что впереди элемента текстовый узел, а потом уже input,
потому его (текстовый узел) и возвращает, к которому css не применим естественно.
Соедените 2 инпута и функция сработает как надо ))
А для требующегося результата надо пройтись в цикле до первого попавшего html элемента.

(Отредактировано автором: 27 Июля, 2012 - 18:09:50)

 
 Top
LIME
Отправлено: 27 Июля, 2012 - 17:26:36
Post Id


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


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




точно
а я и позабыл про текст чегото
спс
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Июля, 2012 - 17:27:58
Post Id



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


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


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




Не за что.

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function next(el)
  3. {
  4.         do { el = el.nextSibling; }
  5.         while (el && el.nodeType != 1);
  6.         return el;
  7. }
  8.  
  9. function action_checkbox(el)
  10. {
  11.         if(el.checked == true)
  12.         {
  13.                 next(el).style.display = 'inline';
  14.         }
  15.         else
  16.         {
  17.                 next(el).style.display = 'none';
  18.         }
  19. }
  20.  

(Отредактировано автором: 27 Июля, 2012 - 18:06:10)

 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB