Я пытаюсь свести к минимуму переходы страниц, поэтому я использовал объект jQuery jQuery для размещения того, что нужно видеть клиенту. В рамках аккордеона проекта я хочу указать диалоговые кнопки с названием проекта. Когда клиент нажимает на диалоговое окно, появится окно с информацией о деталях проекта. Мне удалось собрать все вместе под правильным аккордеоне, но я не могу заставить кнопку диалога отображать каждую деталь проекта. Я могу получить только первый проект, все проекты или его список, как сейчас.Использование jquery ui dialog и php
Аккордеон и элементы диалога отлично работают, я просто не могу получить каждое диалоговое окно каждой кнопки, чтобы содержать уникальные данные projectID
.
foreach ($r->getRecords() as $project){
$projectId = $project->getField('ID_Project');
$projectName = $project->getField('Project_Name');
$projectDate = $project->getField('Date_Start');
$projectStaff = $project->getField('Staff');
$projectReport = $project->getField('MasterReport');
echo '<div id="dialog" title="Project Detail">';
echo '<p>';
echo '<b>Affidavit:</b> ' . $projectId . '<br>';
echo '<b>Project Name:</b> ' . $projectName . '<br>';
echo '<b>Project Date:</b> ' . $projectDate . '<br>';
echo '<b>Verifier:</b> ' . $projectStaff . '<br>';
echo '<b>Report Link:</b> ' . "<a href='includes/php/containerBridge.php?path=".urlencode($projectReport)."'>Click here to download PDF Report</a><br>";
echo '</p>';
echo '</div>';
echo '<button id="opener">' . $projectName . '</button><br>';
}
Вот сценарий в части заголовка я использую:
<script>
$(function() {
$("#dialog").dialog({
autoOpen: false,
show: {
effect: "blind",
duration: 1000
},
hide: {
effect: "explode",
duration: 1000
}
});
$("#opener").click(function() {
$("#dialog").dialog("open");
});
});
</script>
<script>
$(function() {
$("#accordion").accordion({
heightStyle: "fill"
});
});
$(function() {
$("#accordion-resizer").resizable({
minHeight: 250,
minWidth: 200,
resize: function() {
$("#accordion").accordion("refresh");
}
});
});
</script>
идентификаторов в HTML должны быть уникальными, вы должны использовать классы вместо этого в вашем цикле. – jeroen
echo '
'; Затем привяжите к классу opener и получите свойство Id из id и загрузите контент. –