JQuery для переключения на PHP оператор foreach - PullRequest
1 голос
/ 11 апреля 2010

Код для страницы следующий

<?php foreach ($organization->index() as $id=>$content) { ?>
<a href="#" id="obtain_branch"><?= $content->name?></a>
<div id="directory_brnach"><?= $content->about?></div>
<?php } ?>

Код JavaScript с использованием jQuery:

 // Directory inner branches
$('#obtain_branch').click(function(){
   $('#directory_brnach').toggle('fast');
});

Проблема в том, что она будет работать только в первом случае, если идентификатор не меняется, остальные не изменятся.

Как я могу отправить массив в функцию jQuery, чтобы дать индивидуальный идентификатор на каждой итерации?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2010

идентификаторы должны быть уникальными. Попробуйте:

<?php foreach ($organization->index() as $id=>$content) { ?>
<a href="#" class="obtain_branch"><?= $content->name?></a>
<div><?= $content->about?></div>
<?php } ?>

с:

$('a.obtain_branch').click(function(){
   $(this).next().toggle('fast');
   return false;
});
2 голосов
/ 11 апреля 2010

#obtain_branch выбирает первый элемент с этим идентификатором. Использование класса поможет для ссылок, но не для div s - это переключит их все сразу. Попробуйте:

<?php foreach ($organization->index() as $id=>$content) { ?>
<a href="#" class="obtain_branch"><?= $content->name?></a>
<div class="directory_brnach"><?= $content->about?></div>
<?php } ?>

JavaScript:

$('.obtain_branch').click(function(){
    $(this).next('.directory_brnach').toggle('fast');
    return false; //to avoid the link from working
});
...