Технический ответ - нет, так как один из них является языком на стороне сервера, а другой - языком на стороне клиента; Вы не можете получить доступ к переменным PHP через JavaScript (jQuery). Однако вы можете перенести переменные PHP на свою HTML-страницу при генерации, а затем забрать их с помощью JavaScript или jQuery.
Читая ваш сценарий, я думаю, что вы слишком усложняете вещи. Подумайте о вашем приложении; не думайте о технических аспектах, а скорее о том, как это должно быть изложено. Я предполагаю, что у вас есть контроллер студентов, контроллер уроков и контроллер курсов. Эти контроллеры будут иметь действия, называемые view
или аналогичные, и затем эти действия будут использовать идентификатор для отображения конкретного студента / курса / урока.
В вашей HTML-странице / представлении / шаблоне у вас должны быть только обычные URL-адреса. Затем следует использовать JavaScript для улучшения веб-сайта. Так что в вашем случае я бы разметил его примерно так:
<ul class="courses">
<?php foreach ($courses as $course): ?>
<li><a href="/courses/view/<?php echo $course->id; ?>"><?php echo $course->title; ?></a></li>
<?php endforeach; ?>
</ul>
В таком случае во внешнем файле JavaScript будет функция, которая прослушивает щелчок по тегу <a>
и вместо перехода по этому URL вместо отображения содержимого страницы во всплывающем / модальном окне.
<script>
$('.courses a').click(function(e) {
e.preventDefault();
// load external page and display it in a modal
});
</script>
Таким образом, если по какой-либо причине JavaScript недоступен, пользователь будет перенаправлен на страницу сведений о курсе. Если у них есть JavaScript, они получат модное всплывающее окно.
Надеюсь, это поможет. Если вам нужно что-то прояснить, дайте мне знать, поскольку я написал это в первые часы после нескольких JD и Cokes!