0

有人可以帮我写一个函数来显示一行文本(最好是通过显示一个 css 类)在有人点击一个日期后为 jquery datepicker 显示一行文本吗?

如果选择的日期介于今天和从今天起 21 天之间,则必须显示通知。

这是我需要帮助的功能,因为我不知道如何编写它。

<script>
     $(function() {
          $( "#delivery_date" ).datepicker({ 
                dateFormat: "dd/mm/yy",
          });
     });
 </script>

<input type="text" id="delivery_date" name="delivery_date" required  />
4

3 回答 3

2

您也许可以使用date.js对其进行验证,它有一个流畅的 API,可以很容易地表达您的条件。

示例代码可能是:

var enteredDate = $("#delivery_date").prop("value");
var parsed = Date.parse(enteredDate); 
var start = Date.today();
var end = Date.today().add(21).days(); 
if (!parsed.between(start, end)) {
    alert("Date is valid");
} else {
    alert("Date is not valid");
}

测试插件

于 2013-09-05T09:15:32.317 回答
1

你可以onClose在日期选择器中使用

$(function() {
  $( "#date" ).datepicker({ 
  dateFormat: "dd/mm/yy",
  onClose: function() {
        valid();
    }
  });
});

jsfiddle - 示例

于 2013-09-05T09:38:59.173 回答
0

初始化日期选择器时只使用onSelect属性

$( "#delivery_date" ).datepicker({ 
    dateFormat: "dd/mm/yy",
    minDate : new Date(),
    onSelect: function(str) {

        var lastDate = new Date(),
            nums = str.split("/"),
            userDate = new Date(nums[2], nums[1]-1, nums[0]), // reverse date
            period = 21;

        lastDate.setDate(lastDate.getDate()+period);

        if (userDate<lastDate) {
            // notify
            alert("inside 21 days period");
        }
    }
});

试试小提琴

于 2013-09-05T09:55:13.450 回答