1

我是 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”的座位将导致警报,我猜也会阻止我取消选择它。

4

1 回答 1

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 的更多信息:http $.ajax: //api.jquery.com/jQuery.ajax/

seats虽然,根据您要执行的操作,在页面上使用 JavaScript 对值做一些事情确实可能更有意义。如果您想将其保存到数据库,您可能希望将其发送到您的 PHP 脚本。

更新

要将值放入表单并提交表单,请创建一个常规 HTML 表单(您可以放入display: nonecss 以隐藏它),然后:

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']

于 2012-08-27T23:48:43.340 回答