У меня есть выпадающее меню с несколькими месячными значениями. Это пример одного из них.
<li data-toggle="modal" data-id="January" class="random " href="#AddMonth">January</li>
Я хотел бы передать значение «Январь» переменной php. Что-то вроде этого
<div class="modal fade" id="AddMonth" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">Update your information</h4> </div> <div class="modal-body"> <?php // $month = ? // month will contain the variable that was pass from data-id MethodSendMonthData($month); ?> </div> </div>
в<div class="modal fade" id="AddMonth" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">Update your information</h4> </div> <div class="modal-body"> <?php // $month = ? // month will contain the variable that was pass from data-id MethodSendMonthData($month); ?> </div> </div>
Я не знаю, как я могу это достичь?
Прежде всего, прокомментировать мой комментарий.
Для этого вы можете использовать jQuery.ajax или даже jQuery.post .
Для примера, ваш элемент имеет идентификатор mymonth
<li id="mymonth" data-toggle="modal" data-id="January" class="random " href="#AddMonth">January</li>
Теперь с jQuery вы можете получить триггер:
$(document).on('click', 'li#mymonth', function(){ // get month var val = $(this).attr('data-id'); $.post('myphpfile.php', {month: val}, function(data){ console.log(data); }); });
Как вы можете видеть, мы захватываем data-id
атрибута и сохраняем его в переменной val
. Затем myphpfile.php
файл примера php: myphpfile.php
В myphpfile.php
ваша функция php была бы такой (пример, конечно):
<?php if(isset($_POST['month']) && !empty($_POST['month'])) { // do your sanatizing and such.... // do your php stuff MethodSendMonthData($month); // you can echo back what you need to and use that in jquery as seen above } ?>
в<?php if(isset($_POST['month']) && !empty($_POST['month'])) { // do your sanatizing and such.... // do your php stuff MethodSendMonthData($month); // you can echo back what you need to and use that in jquery as seen above } ?>