jQuery UI Datepicker字段不允许手动更改

时间:2012-02-27 08:41:08

标签: asp.net jquery-ui

我的状况:
enter image description here
我的代码:


$('#' + '<%=txtFrom.ClientID%>').datepicker({ dateFormat: 'yy-mm-dd' });


我只想选择'yy-mm-dd'格式的日期。如果它从Datepicker中选择了它的工作。但是textbox允许手动输入不是格式的日期。如何强制用户不要手动从Datepicker选择日期?

6 个答案:

答案 0 :(得分:2)

protected void Page_PreRender(object sender, EventArgs e)
{
    txtFrom.Attributes["readonly"] = "readonly";
}

答案 1 :(得分:0)

我猜你想要禁用输入框的文本输入,是吗?如果是这样,这已经在前面讨论过了。请参阅this

答案 2 :(得分:0)

我建议你也要掩饰它。

这是代码。

<input type="text" id="dtp" />​

和javascript:

$("#dtp")
    .datepicker({ dateFormat: 'yyyy-mm-dd' })
    .mask("9999-99-99");​

我使用了this库。

This is a working demo。您可以使用它来满足您的需求。

修改

updated the demo。混淆这两个插件有一个警告。不过我已经设法纠正了它。不是最优雅的解决方案,但有效。 ))

答案 3 :(得分:0)

您可以将该功能用于该文本框。 在你的脚本文件中写下jquery。

  <script type="text/javascript" >
    $(document).ready(function ($) {
         $('#<%=txtFrom.ClientID%>').keypress(function () {
            return false;
        });
    });
 </script>

粘贴该代码,当您的焦点位于文本框中时,它将不允许您从键盘按任意键。 100%经过测试的代码。

答案 4 :(得分:0)

将readonly属性添加到此输入

  

只读= “只读”

答案 5 :(得分:0)

您可以使用jquery工具的库日期选择器。它使用起来非常简单,并且可以自动禁用手动输入。

<script src="src="http://cdn.jquerytools.org/1.2.7/full/jquery.tools.min.js"></script>

<!-- dateinput styling -->
<link rel="stylesheet" type="text/css" href="dateinput.css"/>

<!-- HTML5 date input -->
<input type="date" />

<!-- make it happen -->
<script>
  $(":date").dateinput();
</script>

有关详细信息,请参阅jquery tools