Есть несколько записей, под каждой кнопка, одна и таже. Жмём кнопку под любой записью, выводится колонка more именно для этой записи.
Как сделать, чтобы при клике на кнопку, для каждой записи выводилась своя запись из more? Сейчас выводится только первая.
// Вывод записей из БД
<?
$types = typeClass();
$list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`');
foreach($list As $l){
?>
<div class="day">
<div class="date"><?=$l['date']?></div>
<div class="time"><?=$l['time']?></div>
<div class="kitchen <?=$l['type']?>">
<?=$types[$l['type']]?>
</div>
<div class="description">
<?=$l['text']?>
</div>
<a class="button more" href="#"><span>Подробнее</span></a>
</div>
<?
}
?>
// Код кнопки
<div class="popup more">
<?
global $DB;
$dataSql = $DB->getAll('SELECT `more` FROM `list` ORDER BY `id`');
foreach($dataSql As $sql){
?>
<div class="form" name="list[list][<?=$sql['id']?>][more]"><?=$sql['more']?></div>
<?
}
?>
</div>
Вариант первый. В атрибут data кнопки добавляем текст more и затем выводим в попап окне:
$(function() {
$('.more').click(function(){
var more = $(this).attr("data");
$(".form").html(more);
$('.popup').fadeIn(300);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<?
$types = typeClass();
$list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`');
foreach($list As $l){
?>
<div class="day">
<div class="date"><?=$l['date']?></div>
<div class="time"><?=$l['time']?></div>
<div class="kitchen <?=$l['type']?>">
<?=$types[$l['type']]?>
</div>
<div class="description">
<?=$l['text']?>
</div>
<a class="button more" href="#" data="<?=$l['more']?>"><span>Подробнее</span></a>
</div>
<?
}
?>
// Код кнопки
<div class="popup more">
<div class="form" name=""></div>
</div>
Вариант второй. В атрибут data добавляем id записи и каждому попап окну добавляем идентификатор записи и при нажатии на Подробнее показиваем окно попап которое соответствует id:
$(function() {
$('.more').click(function(){
var more = $(this).attr("data");
$(more).fadeIn(300);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<?
$types = typeClass();
$list = $DB->getAll('SELECT * FROM `list` ORDER BY `id`');
foreach($list As $l){
?>
<div class="day">
<div class="date"><?=$l['date']?></div>
<div class="time"><?=$l['time']?></div>
<div class="kitchen <?=$l['type']?>">
<?=$types[$l['type']]?>
</div>
<div class="description">
<?=$l['text']?>
</div>
<a class="button more" href="#" data="#<?=$sql['id']?>"><span>Подробнее</span></a>
</div>
<?
}
?>
// Код кнопки
<?
global $DB;
$dataSql = $DB->getAll('SELECT `id`,`more` FROM `list` ORDER BY `id`');
foreach($dataSql As $sql){
?>
<div class="popup more" id="<?=$sql['id']?>">
<div class="form" name="list[list][<?=$sql['id']?>][more]"><?=$sql['more']?></div>
</div>
<?
}
?>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей