Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > WordPress и другие CMS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 19:51   #1
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию jQuery в цикле

Здравствуйте! Делаю на сайте выпадающую подсказку с помощью jQuery. На странице добавлен код JavaScript:
Код HTML:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script src="jquery.collapse.js"></script>
    <script src="jquery.cookie.js"></script>
    <script>
    $(function() {
        $("#demo").collapse();
    });
    </script>
Данные на страницу извлекаются из базы данных MySQL циклом:
PHP код:
do {
printf ("  <table  align='center'>
          <tr>
          <td>%s</td>
          </tr>
          <tr>
          <td>%s</td>
          </tr>
          <tr>
          <td>%s</td>
          </tr>
          </table><br><br> "
$myrow["text"], $myrow["answers"], $myrow["help"]);}
while (
$myrow mysql_fetch_array ($result)); 
В "help" добавляю код:
Код HTML:
<div id="demo">
        <h3>Подсказка</h3>
        <div>
            <p>Текст подсказки</p>
        </p>
    </div>
На странице выводится рабочей только первая выпадающая подсказка, остальные не работают.
Как можно исправить чтобы не пришлось цикл убирать? Или хоть как-нибудь, подсказка очень нужна!
Nastya_cutie вне форума Ответить с цитированием
Старый 11.05.2012, 08:39   #2
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

это
Код HTML:
<script>
    $(function() {
        $("#demo").collapse();
    });
    </script>
нужно объявить столько раз, сколько записей выводится в цикле (если подсказка нужна для каждой записи цикла), при чем id-шники должны быть у всех разные

можно сделать как-то так:

PHP код:
$result mysql_query(.......);
while (
$row mysql_fetch_array ($result)){
      
$myrow[] = $row;
}
$total count($myrow);
for (
$k=0;$k<$total;$k++){
   echo 
"<script>
    $(function() {
        $(\"#demo"
.$k."\").collapse();
    });
    </script>"
;
}

//выводим сам массив теста

foreach ($myrow as $key => $value){
    echo 
"<table  align='center'>
          <tr>
          <td>"
.$value['text']."</td>
          </tr>
          <tr>
          <td>"
.$value['answers']."</td>
          </tr>
          <tr>
          <td><div id=\"demo"
.$key."\">
        <h3>Подсказка</h3>
        <div>
            <p>Текст подсказки</p>
        </p>
    </div></td>
          </tr>
          </table><br><br> "
;

Minus_yu вне форума Ответить с цитированием
Старый 12.05.2012, 12:07   #3
Nastya_cutie
Пользователь
 
Регистрация: 03.03.2012
Сообщений: 16
По умолчанию

Добавила вывод значений подсказки из бд
PHP код:
//выводим сам массив теста 

foreach ($myrow as $key => $value){ 
    echo 
"<table  align='center'> 
          <tr> 
          <td>"
.$value['text']."</td> 
          </tr> 
          <tr> 
          <td>"
.$value['answers']."</td> 
          </tr> 
          <tr> 
          <td><div id=\"demo"
.$key."\"> 
        <h3>Подсказка</h3> 
        <div> 
            <p>"
.$value['help']."</p> 
        </p> 
    </div></td> 
          </tr> 
          </table><br><br> "

перед тестом выдает несколько левых ни к чему не привязанных подсказок, пока не нашла откуда они берутся, но в самом тесте все работает лучшим образом!
Minus_yu, спасибо большое за помощь!
Nastya_cutie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переменная в цикле rigiy Общие вопросы Delphi 5 11.02.2012 18:43
Ошибка в цикле Belokuraya Microsoft Office Excel 11 18.08.2009 15:52
Ошибка в цикле Alamez Общие вопросы Delphi 2 05.04.2009 15:12