2013-08-15 2 views
0

Все работает, за исключением участка hide. Я просто пытаюсь скрыть каждый div, поскольку он сгенерирован, и мне нужно получить контроль над div. Поэтому я предполагаю, что часть div id очень неправильная, когда я пытаюсь увеличить. Пожалуйста помоги!Php генерирует divs, затем скрывает все divs

<?php 
$counter=0; 
foreach ($foo as $key => $value){ 
$counter++; 
?> 

<div id="ad<?php $counter;?>"> 
<?php include("showPage.php");?> 
</div> 
<script>$("#ad<?php $counter;?>").hide();</script> 

<?php 
} 
?> 

Вторая часть вопроса:

<script> 
$(document).ready(function(){ 
$("#FooButton").click(function(){ 
if($('div#ad1').is(':visible')){ 
$("div#ad1").hide(); 
$("div#ad2").show(); 
} 

}); 
}); 
</script> 

ответ

2

Вам необходимо повторить из значения $counter.

Здесь:

<div id="ad<?php echo $counter;?>"> 
    <?php include("showPage.php");?> 
</div> 
<script> 
    $(document).ready(function(){ 
    $("#ad<?php echo $counter;?>").hide(); 
    }); 
</script> 

Update:

Посмотрев на выше решение, я не могу рекомендовать вам вызов в цикле $(document).ready(). Более эффективное решение этой проблемы было бы добавить стиль display: none к сгенерированной div и не использовать JavaScript здесь, как следует:

<div id="ad<?php echo $counter;?>" style="display:none;"> 
    <?php include("showPage.php");?> 
</div> 
+0

это еще не скроет divs – Petro

+0

@Petro, я обновил свой ответ с лучшим решением, чем выполнение вызова 'document.ready' в цикле. – vee

+0

Это сработало! Теперь как я могу вызвать div обратно с помощью javascript/jquery? Могу ли я создать класс css для каждого элемента, чтобы отобразить его, а затем удалить? Я обновляю свой вопрос тем, что я пытаюсь сделать. – Petro

3

Да вам нужно echo значения как этот

 
echo $counter; 
Смежные вопросы