jquery datepicker显示与value不同的文本

时间:2015-04-08 20:58:50

标签: javascript jquery jquery-ui jquery-ui-datepicker

我目前正在使用datepicker。从某个时候开始我想显示一些文字,而不是我从datepicker中选择的日期,是否有人知道是否有办法做到这一点?非常感谢!

例如: 如果2015/01/01是假日,我选择这个日期,我想在输入元素而不是2015/01/01上显示假日名称。当我提交时,值(2015/01/01)仍将传递到服务器。

我搜索了谷歌,但还没有找到一个好的解决方案。

2 个答案:

答案 0 :(得分:1)

您可以将所选日期存储在另一个字段中,并使用onSelect事件检查并覆盖所选值。



$("#datepicker").datepicker({
    altField: "#actualDate",
    onSelect: function(dateText, inst) {
        if (dateText.substring(0, 5) == "04/01") {
            inst.input.val("april fools!");
        }
    }
});

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>

<input id="datepicker" type="text">
<br>
<input id="actualDate" type="text">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

最干净的是完全实现自己的日期选择器。

接下来是hack datepicker,例如

var that = this;
this.$input.datepicker({
    onSelect: function () {
        // get value, e.g. "2015-10-14"
        // check if that date is mapped to any holiday
        that.$input.val("St. Patrick Day 2015");
    },
});

当你得到这个。$ input.val()来使用它时,必须手动翻译&#34; St。 Patrick Day 2015&#34;回到&#34; 2015-10-14&#34;。

有点难看与你建立自己。