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 :: Функция скрыть/отобразить ячейки таблицы по селекту

 PHP.SU

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


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

> Без описания
alsio
Отправлено: 01 Января, 2013 - 14:05:53
Post Id


Гость


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


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

[+]


Я js не знаю. Погуглив, собрал такой скрипт:

CODE (html):
скопировать код в буфер обмена
  1. <script type='text/javascript'>
  2. function showhide(sel) {
  3.     if ( sel.options[sel.selectedIndex].value == "Фрукты" )  {
  4.         document.getElementById('Овощи').style.display = 'none';
  5.         document.getElementById('Фрукты').style.display = 'block';
  6.     } else {
  7.         document.getElementById('Фрукты').style.display = 'none';
  8.         document.getElementById('Овощи').style.display = 'block';
  9.     }
  10. }
  11. document.getElementById('Фрукты').style.display = 'block';
  12. </script>
  13. <SELECT onchange="showhide(this);">
  14.       <option value="">Выбор категории</option>
  15.       <option value="Фрукты">Фрукты</option>
  16.       <option value="Овощи">Овощи</option>
  17.       <option value="Ягоды">Ягоды</option>
  18. </select>
  19.  
  20. <br><br><br><br><br><br>
  21.  
  22.  
  23.  
  24. <table>
  25. <tr id="Фрукты" style="display: none;">
  26.     <TD><SELECT>
  27.       <option value="Банан">Банан</option>
  28.       <option value="Апельсин">Апельсин</option>
  29. </select></TD>
  30. </tr>
  31. <tr id="Овощи" style="display: none;">
  32.     <TD><SELECT>
  33.       <option value="Картошка">Картошка</option>
  34.       <option value="Капуста">Капуста</option>
  35. </select></TD>
  36. </tr>
  37. <tr id="Ягоды" style="display: none;">
  38.     <TD><SELECT>
  39.       <option value="Арбуз">Арбуз</option>
  40.       <option value="Морошка">Морошка</option>
  41. </select></TD>
  42. </tr>
  43. <table>


Никак не могу сделать, чтобы:
1. При выборе "Выбор категории" все зависимы селекты скрывались
2. Работал зависимый селект для "Ягоды"
3. Чтобы если зависимый селект скрывался, его значения обнулялись (сейчас он помнит последний выбор).

Подскажите, что можете, знатоки js

P.S. И что делает 11 строчка?
 
 Top
SAD
Отправлено: 01 Января, 2013 - 17:55:09
Post Id



Постоянный участник


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


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




Для начала

Идентификатор должен обязательно начинаться с латинского символа и может содержать в себе латинские буквы (A–Z, a–z), цифры (0–9), символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо.
 
 Top
Саныч
Отправлено: 01 Января, 2013 - 22:21:51
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




Ну это интересно конечно... Как можно писать то, в чем вобще не разбираешся... Никогда этого не понимал...
По существу: ну функцию-то вы написали, но вот вызова ее я нигде не вижу. Намек ясен?..


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
LShark
Отправлено: 02 Января, 2013 - 09:27:23
Post Id



Частый гость


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


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




Думаю, можно не придумывать велосипед, а попробовать использовать jquery
Подключаешь jq и далее вешаешь на onclick события:

Например, по id - вешаешь на кнопки команду
CODE (htmlphp):
скопировать код в буфер обмена
  1. $('#id_нужного_элемента').hide(); - скроет этот элемент
  2. $('#id_другого_нужного_элемента').show(); - покажет этот элемент


Например:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <input type=button value="Фрукты" onclick="$('#frukt').show();$('#ovosh').hide();">

(Добавление)
Саныч пишет:
ну функцию-то вы написали, но вот вызова ее я нигде не вижу.


У него написано
CODE (htmlphp):
скопировать код в буфер обмена
  1. <SELECT onchange="showhide(this);">

(Отредактировано автором: 02 Января, 2013 - 09:38:30)



-----
Истина прежде всего в том, что...
 
 Top
alsio
Отправлено: 02 Января, 2013 - 11:48:21
Post Id


Гость


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


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

[+]


SAD пишет:
Для начала

Идентификатор должен обязательно начинаться с латинского символа и может содержать в себе латинские буквы (A–Z, a–z), цифры (0–9), символ дефиса (-) и подчеркивания (_). Использование русских букв в именах идентификатора недопустимо.


Однако работает Подмигивание Но все равно спасибо, учту!
 
 Top
LShark
Отправлено: 02 Января, 2013 - 11:52:57
Post Id



Частый гость


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


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




Ах да, и id лучше не называть русскими буквами. Латиницей.
Иначе работать будет избирательно и не во всех браузерах.

(Отредактировано автором: 02 Января, 2013 - 11:54:48)



-----
Истина прежде всего в том, что...
 
 Top
alsio
Отправлено: 02 Января, 2013 - 11:57:48
Post Id


Гость


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


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

[+]


Саныч пишет:
Ну это интересно конечно... Как можно писать то, в чем вобще не разбираешся... Никогда этого не понимал...


А как же еще разбираться, если не писать? Радость Да я и не писал. Понадобилось - погуглил и слепил из того,что было.

Саныч пишет:
По существу: ну функцию-то вы написали, но вот вызова ее я нигде не вижу. Намек ясен?..


Ну да, вот вызов:
PHP:
скопировать код в буфер обмена
  1. <SELECT onchange="showhide(this);">


Так а что по существу то? Радость
 
 Top
alsio
Отправлено: 04 Января, 2013 - 09:05:18
Post Id


Гость


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


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

[+]


Скрипт я собрал, опять же погуглив.
Остались вопросы:
3. Как сделать, чтобы если зависимый селект скрывался, его значения обнулялись (сейчас он помнит последний выбор).
P.S. И что делает 11 строчка?
 
 Top
Саныч
Отправлено: 04 Января, 2013 - 11:55:38
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


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




LShark пишет:
У него написано
Да точно, не заметил...
alsio пишет:
А как же еще разбираться, если не писать? Да я и не писал. Понадобилось - погуглил и слепил из того,что было.
Дак вот нужно сначало разобраться, а потом писать. Почитать мануал, начать с простенького... А не погуглил и слепил из того,что было.

CODE (html):
скопировать код в буфер обмена
  1. <script type='text/javascript'>
  2. window.onload = function() {
  3.         var els = {
  4.                         vegetables: document.getElementById('vegetables'),
  5.                         fruits: document.getElementById('fruits'),
  6.                         berries: document.getElementById('berries')
  7.                 };
  8.         els.vegetables.style.display = els.fruits.style.display = els.berries.style.display = 'none';
  9.         document.getElementById('mainSelect').onchange = function() {
  10.                 els.vegetables.style.display = els.fruits.style.display = els.berries.style.display = 'none';
  11.                 var el = this.options[this.selectedIndex].value;
  12.                 if (el in els) {
  13.                         els[el].style.display = 'table-row';
  14.                         els[el].querySelector('select').selectedIndex = 0;
  15.                 }
  16.         }
  17. }
  18. </script>
  19. <SELECT id="mainSelect">
  20.       <option value="">Выбор категории</option>
  21.       <option value="fruits">Фрукты</option>
  22.       <option value="vegetables">Овощи</option>
  23.       <option value="berries">Ягоды</option>
  24. </select>
  25.  
  26. <br><br><br><br><br><br>
  27.  
  28. <table>
  29. <tr id="fruits" style="display: none;">
  30.     <TD><SELECT>
  31.       <option value="Банан">Банан</option>
  32.       <option value="Апельсин">Апельсин</option>
  33. </select></TD>
  34. </tr>
  35. <tr id="vegetables" style="display: none;">
  36.     <TD><SELECT>
  37.       <option value="Картошка">Картошка</option>
  38.       <option value="Капуста">Капуста</option>
  39. </select></TD>
  40. </tr>
  41. <tr id="berries" style="display: none;">
  42.     <TD><SELECT>
  43.       <option value="Арбуз">Арбуз</option>
  44.       <option value="Морошка">Морошка</option>
  45. </select></TD>
  46. </tr>
  47. </table>

(Отредактировано автором: 04 Января, 2013 - 12:00:13)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 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