如果给定jquery ui进行日期选择,如何不允许用户在日期字段的文本框中输入? [复制]

Posted

技术标签:

【中文标题】如果给定jquery ui进行日期选择,如何不允许用户在日期字段的文本框中输入? [复制]【英文标题】:how to don't allow user from typing in text box of date field if given jquery ui for date selection? [duplicate] 【发布时间】:2012-08-28 03:55:17 【问题描述】:

可能重复:JQuery Datepicker with text input that doesn't allow user input

我正在使用 mvc3 开发网站。我为 DateTime 字段创建了编辑器模板,并使用 jquery ui 来选择日期。 现在我不希望用户输入日期字段的文本框,用户应该只使用 jquery ui 选择它。有可能吗?如果可能的话怎么做?

【问题讨论】:

@RaphaëlAlthaus 这不是 mvc 解决方案 @MihaiLabo 告诉我区别?这只是一个属性。我希望 OP 知道如何应用属性 ;) 嗯 .. 考虑到我们都是从零开始的,我们的工作是让每个人都更轻松。 【参考方案1】:

在您的编辑器模板中添加:

@model System.DateTime?
@html.TextBox("", (Model.HasValue ? Model.Value.ToString("dd.MM.yyyy"): string.Empty), new  @class = "date-pick" )

<script type="text/javascript">
    $(function () 
        $(".date-pick").attr("readonly", "true");    
        $('.date-pick').datepicker(
            dateFormat: "dd.mm.yy",
            yearRange: "-162:+0",
            showWeek: true,
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            changeButtonPanel: true,
            buttonImageOnly: true,
            showOn: "button",
            buttonImage: '@Url.Content("~/Content/images/calendar_32.png")'
        );               
    );  
</script>

请注意,我还指定了自定义日期格式。

【讨论】:

【参考方案2】:

将其设为只读?

@Html.TextBoxFor(model => model.PostedDate, new  @readonly = "readonly" ) 

【讨论】:

以上是关于如果给定jquery ui进行日期选择,如何不允许用户在日期字段的文本框中输入? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI Datepicker - 禁用特定日期

没有输入的jQuery日期选择器

jQuery UI Datepicker - 选定日期之后的颜色日期

带有手动输入和动态最小日期的 jQuery UI 日期选择器

如何在 jQuery UI 日期选择器中禁用公共假期?

jQuery UI 日期选择器翻译