1

我在 wordpress/PHP 中使用 jQuery 的 datepicker,我正在使用这段代码来显示日期:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
    $(function() {
        $("#datepicker").datepicker();
        $("#datepicker").datepicker("option","dateFormat",'yy-mm-dd');
    });
</script>


 Date<input type="text" id="datepicker" size="20" maxlength="15"  style="width: 80px;" readonly="readonly"/>

它成功显示了我的日期。

另外,我在数据库中有一个表(wp_redeem_vouchers),其中保存了特定的凭证兑换日期:

  id       wp_deal_id            redeem_date
  1      Amazon6767           2012-03-21
  2      Ebay87nm             2013-06-12
  3      M&Svouc              2013-01-01
  4      ASDA                 2011-09-08       

问题:

  1. 如何检索“redeem_date”并将日期选择器的文本框日期(在选择时)与已保存在数据库中的日期进行比较?

  2. 无论如何我可以禁用过去的日期,以便用户无法从日期选择器中选择过去的日期?即 2013 年 3 月 14 日的用户不能从日期选择器中选择 22/02/2013。

4

2 回答 2

2

对于你的 i)

$('#datepicker').datepicker( {
        minDate: 0,
        onSelect: function(dateText, inst) {

           $.ajax({
                   type: "POST",
                   url: "some.php",
                   data: { date: dateText },
                   onSuccess: function(e){
                    alert("success");
                  }
                });
        });

然后在some.php文件中与 mysql 进行比较,然后返回成功或失败,获取警报(成功)。

然后我会开始

      $date = $_POST['date']; 
      die($date);

在 some.php 中只是看它是否正确传递。

于 2013-03-14T09:21:38.180 回答
0

好吧,您可以将 datepicker 日期字符串(将格式调整为$("#datepicker").datepicker("option","dateFormat",'yyyy-mm-dd');)传递给创建Date对象的以下 JavaScript 函数:

function createDate(s) {
    var bits = s.split('-');
    var d = new Date(bits[0], bits[1] - 1, bits[2]);
    return d;
}

然后您必须从数据库中检索日期值。我不知道是否存在 wordpress 限制,但您可以触发 Ajax-Request,它读取数据库值并将日期字符串作为 JavaScript 变量作为响应。

这个变量也可以传递给createDate(date)函数。使用这两个日期对象,您可以轻松调用以毫秒为单位比较日期和时间 ->getTime()日期对象的函数。

问候

于 2013-03-14T09:28:43.887 回答