从jQuery中提取值并传入$ _GET或php变量

时间:2012-08-27 23:18:07

标签: jquery get

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

1 个答案:

答案 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的$.ajaxhttp://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']

中的接收脚本