jQuery 日期选择器未在文本框中设置 maxDate

发布于 2024-12-17 22:56:22 字数 863 浏览 4 评论 0原文

我在代码中使用 jquery.ui.datepicker 。我已将 maxDate 设置为 +0 即当前日期。因此,在日历控件中,未来日期被禁用,但用户仍然可以在文本框中键入未来日期。如何限制用户仅输入小于 maxDate 的日期,如果用户输入任何未来日期,我想在模糊的文本框中显示当前日期。

$txtDate.datepicker({
    dateFormat: MyPage.config.dateFormat,
    onClose: function (dateText, inst) {
        try {
            $.datepicker.parseDate(MyPage.config.dateFormat, dateText);
        } catch (e) {
            $txtDate.val('');
        };
    },
    maxDate: '+0'
});
$txtDate.datepicker('setDate', new Date()).blur(function () {
    try {
        if ($txtDate.val() == '') {
            $txtDate.datepicker('setDate', new Date());
        }
    }
    catch (ex) {
        var MyEx = MyWeb.Exception(ex);
        MyEx.AddData("Method", "$txtDate.datepicker('setDate', new Date()).blur");
        $.errorhandler("HandleError", MyEx);
    }
});

I am using jquery.ui.datepicker in my code. I have set maxDate to +0 i.e. current date. So in the calendar control the future dates are disabled but user is still able to key in the future date in the textbox. How to restrict the user to enter only the dates less than maxDate and if user enter any future date I want to show the current date in the textbox on blur.

$txtDate.datepicker({
    dateFormat: MyPage.config.dateFormat,
    onClose: function (dateText, inst) {
        try {
            $.datepicker.parseDate(MyPage.config.dateFormat, dateText);
        } catch (e) {
            $txtDate.val('');
        };
    },
    maxDate: '+0'
});
$txtDate.datepicker('setDate', new Date()).blur(function () {
    try {
        if ($txtDate.val() == '') {
            $txtDate.datepicker('setDate', new Date());
        }
    }
    catch (ex) {
        var MyEx = MyWeb.Exception(ex);
        MyEx.AddData("Method", "$txtDate.datepicker('setDate', new Date()).blur");
        $.errorhandler("HandleError", MyEx);
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

叹沉浮 2024-12-24 22:56:22

只需将其放入您的输入 html 元素中:

readonly="readonly"

并使用服务器端技术将值默认为今天的日期:

<input type="text" readonly="readonly" name="date" id="date" value="<?php echo date('Y-m-d');?>">

Just put this in your input html element:

readonly="readonly"

And use a serverside technology to default the value to today's date:

<input type="text" readonly="readonly" name="date" id="date" value="<?php echo date('Y-m-d');?>">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文