PHP foreach ifadesi jQuery değiştir

2 Cevap php

Sayfa için kod aşağıdadır

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

JQuery kullanarak JavaScript kodu

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

Sorun sadece kimlik kalan değişmez, değişen değil verilen ilk birinde çalışacaktır.

Nasıl her tekrarında ayrı bir kimlik vermek için jQuery işlevin bir dizi gönderebilir?

Şimdiden teşekkürler.

2 Cevap

The #obtain_branch selects the first element with that ID. Using a class will help for the links, but not for the divs - that will toggle them all at once. Try:

<?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
});

Kimlikleri benzersiz olması gerekir. Deneyin:

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

ile:

$('a.obtain_branch').click(function(){
   $(this).next().toggle('fast');
   return false;
});