如何将多个datepickers值作为数组传递给php

时间:2013-12-05 14:09:43

标签: javascript jquery jquery-ui datepicker

我正在关注Set multiple jQuery Datepickers' value based on one jQuery Datepicker's selected date,这已经被我提出并且也收到了答案。

我在网页上关注了多个日期,第一个日期选择器上的更改将更改屏幕上其他日期选择器的值。

第一个日期选择器是一个值,它将改变其他日期选择器的值。

enter image description here

注意:请注意,我想从图片中显示日期选择器,并且不想将输入类型用作文本

我想知道将此值存储到服务器的最佳方法。您可以看到我当前的代码与上述问题中的建议相同。

$("#datepicker1, #datepicker2, #datepicker3, #datepicker4").datepicker();
$("#datepicker1").datepicker("option", "onSelect", function (dateText, inst) {
    var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings);

    var date2 = new Date(date1.getTime());
    date2.setDate(date2.getDate() + 1);
    $("#datepicker2").datepicker("setDate", date2);

    var date3 = new Date(date1.getTime());
    date3.setDate(date3.getDate() + 2);
    $("#datepicker3").datepicker("setDate", date3);

    var date4 = new Date(date1.getTime());
    date4.setDate(date4.getDate() + 3);
    $("#datepicker4").datepicker("setDate", date4);
});

但是我想通过js数组实现它,然后想要从PHP保存数据。

有人可以指导我吗?

如果会有很少的代码帮助,那对我来说将是非常有用的。

1 个答案:

答案 0 :(得分:1)

如果您想异步存储数据(没有完整页面重新加载),您可以简单地使用jQuerys post函数:

$('#submit_btn').click(function(){
    $.post( "handler.php", { 
        dp1: $("#datepicker1").val(), 
        dp2: $("#datepicker2").val(), 
        dp3: $("#datepicker3").val(), 
        dp4: $("#datepicker4").val()
    })
        .done(function( data ) {
             alert( "Data successfully stored!");
     });
});

建议您使用HTML提交按钮*:

<input type="submit" id="submit_btn" value="send" />

在此示例中,您将在同一目录中拥有handler.php文件。在此文件中,您可以通过

访问datepicker值
$_POST['dp1'], $_POST['dp2'] etc.

如果你真的想要出于某种原因传递一个数组(我会像这样传递4个值),你应该传输一个JSON对象并通过php解码它

json_decode()

希望这会有所帮助!!


*关于您引用的帖子的标记,我建议将所有日期选择器打包在一个元素中。虽然没有必要,但这在语法上是正确的,并允许您绑定到“提交”事件而不是按钮上的单击事件。