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]   

> Описание: Замена текста при выборе из листа <select>
Mordent
Отправлено: 16 Февраля, 2014 - 20:52:55
Post Id



Новичок


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


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




Доброго времени суток!
сломал себе всю голову: пишу рабочий компонент под сайт (начинающий в этом деле Улыбка ). загвоздка стала в следующем: сначала код
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <head>
  3. <script type="text/javascript" src="{THEME}/js/jquery.js"></script>
  4. <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  5. <script type="text/javascript" src="{THEME}/js/jquery.chained.js"></script>
  6. </head>
  7. ...
  8. ///рабочая область
  9.  
  10. <table width="100%" class="">
  11.                                           <tr><td align="right" style="padding:4px;">Категория 1:</td><td>
  12.                                                         <select id="category">
  13.   <option value="1" selected>1</option>
  14.   <option value="2">2</option>
  15.   <option value="3">3</option>
  16. </select>
  17.                                                         </td></tr>
  18. ///Собственно ниже проблемная функция
  19. <script>
  20. function displayVals() {
  21.         if ( $( "#category" ).val("1") ) {
  22.                 $( "#categ3" ).text("ТЕКСТ1:") }
  23.         else {
  24.                         $( "#categ3" ).text("ТЕКСТ2:") }
  25. }
  26. $( "select" ).change( displayVals );
  27. displayVals();
  28. </script>
  29. ///конец проблемной функции
  30.  
  31.                                                         <tr><td align="right" style="padding:4px;" id="categ3"></td><td><select id="cat3">
  32.   <option value="1_1" class="1">1_1</option>
  33.   <option value="1_2" class="1" selected>1_2</option>
  34.   <option value="2_1" class="2">2_1</option>
  35.   <option value="2_2" class="2">2_2</option>
  36.   <option value="3_1" class="3">3_1</option>
  37.   <option value="3_2" class="3">3_2</option>
  38. </select></td></tr>
  39.  
  40. ///Далее ещё пара категорий
  41. ....
  42. ///Динамическая замена списков через jQuery
  43. <script type="text/javascript">
  44. jQuery(document).ready(function(){
  45.              jQuery("#cat3").chained("#category");
  46.                  jQuery("#cat4").chained("#category");});
  47. </script>
  48. ...
  49.  


нужно, чтобы при выборе пользователем из "<select id="category">" значения 1, строке с "id="categ3"" присваивалось значение ТЕКСТ1, если пользователь выбирает значения 2 или 3 - ТЕКСТ2. собственно смена должна быть динамической, без перезагрузки страницы.
то что сейчас написано (код выше) работает, но не до конца, т.е. текст присваивается, но в <select id="category"> блочится всё на первой строке: список выпадает, но выбрать ничего не получается, кроме значения 1.
если в функции displayVals() убрать строку
CODE (javascript):
скопировать код в буфер обмена
  1. $( "select" ).change( displayVals );

то динамические списки работают нормально, но не работает присваивание ТЕКСТ1 или ТЕКСТ2 для "categ3"
подскажите, плз, в чём косяк или что добавить. гуглом и яндексом пользовать умею, но толком путного в этой области не нашёл, одни лишь замены текста на картинки и ничего про тег select Огорчение
 
 Top
JROUD
Отправлено: 16 Февраля, 2014 - 21:15:25
Post Id


Гость


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


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




CODE (javascript):
скопировать код в буфер обмена
  1. if ( $( "#category" ).val("1") )

Я так понял, что это должна была быть проверка, что значение селекта равно 1, но здесь ты его присваиваешь, а не проверяешь. Вот так правильно:
CODE (javascript):
скопировать код в буфер обмена
  1. if ( $( "#category" ).val() == 1 )
 
 Top
Mordent
Отправлено: 16 Февраля, 2014 - 21:40:36
Post Id



Новичок


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


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




JROUD пишет:
Вот так правильно:
CODE (javascript):
скопировать код в буфер обмена
  1. if ( $( "#category" ).val() == 1 )

блин. вот ведь зараза! Спасибо, действительно так!

Извини, не могу спасибо ставить...

(Отредактировано автором: 16 Февраля, 2014 - 21:47:20)

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB