我是jQuery的新手(或者所有的javascript,真的)但是我知道我的方式围绕php和基本编程 - 抱歉,如果我的问题听起来完全愚蠢,我会尽力学习。
我正在使用TechBrij
上列出的座位选择jQuery脚本这是选择座位的代码的一部分(来自飞机/公共汽车座位的布局)
$('.' + settings.seatCss).click(function () {
if ($(this).hasClass(settings.selectedSeatCss)){
alert('This seat is already reserved');
} else{
$(this).toggleClass(settings.selectingSeatCss);
}
});
$('#btnShowNew').click(function () {
var str = [], item;
$.each($('#place li.' + settings.selectingSeatCss + ' a'), function (index, value) {
item = $(this).attr('title');
str.push(item);
});
alert(str.join(','));
})
点击按钮后,所选座位将显示在警报窗口中。我想要那个价值。
我现在想要将选定的座位号传递给$_GET
(或者只是将一个php变量用作$_GET
值,然后在PHP中继续使用)。如果我理解正确,我不知何故需要获取变量“str”?我该怎么办?
另外,有没有办法限制脚本一次只允许一个选定的座位?现在它只会在我点击已经预订的座位时发出警报,我可以选择任意数量的座位,选择/取消选择等等。只需设置它,点击设置为“SelectingSeatCss”的座位将导致警报也会阻止我取消选择它。
答案 0 :(得分:1)
你问题的第二部分可能值得提出自己的问题,但至于主要问题:
如果您尝试将JavaScript变量传递到PHP脚本,则需要使用ajax:
var seats = str.join(',');
var request = $.ajax({
type: 'GET',
url: '/the/script/url.php?seats=' + seats,
success: function (response) {
// do something with response
}
});
您可能希望在此处详细了解jQuery的$.ajax
:
http://api.jquery.com/jQuery.ajax/
尽管如此,根据您尝试执行的操作,使用JavaScript在页面上使用seats
值执行某些操作可能更有意义。如果要将其保存到数据库,可能需要将其发送到PHP脚本。
<强>更新强>
要将值放在表单中,然后提交表单,请创建一个常规的HTML表单(您可以将display: none
放在css中以隐藏它)然后:
var seats = str.join(',');
$('#formId input[name=seats]').val(seats).submit();
在此示例中,表单可能如下所示:
<form id="formId" action="/path/to/script.php" method="post">
<input name="seats" type="text" value="" />
<input type="submit" value="submit" />
</form>
然后该值将可用于$_POST['seats']