【问题标题】:DatePicker JQUERY-UI control not responding to formattingDatePicker JQUERY-UI 控件不响应格式化
【发布时间】:2012-06-02 12:52:11
【问题描述】:

嗨,伙计们,我正在用这个把头发拉出来。

我无法让日期选择器 JQUERY UI 控件响应任何内容,以下代码显示警报,但无论我设置什么值,日期选择器都只是默认设置。在下面的代码中,我只显示了一个月,并且没有设置默认日期:

$(document).ready(function () {

    onload:
    {
        alert(1);
        $('#FirstPeriodReconDate').datepicker({ defaultDate: "+1w",
            changeMonth: false,
            numberOfMonths: 3
        });
        alert(2);........

作为最后一次放弃尝试,我刚刚升级了我的 JQUERY 版本,但还是一样,它没有任何区别。在我的应用程序中,我使用 datepicker 设置值,它被广泛使用,一切都很好。这是我第一次需要对控件实例进行任何更改。我已经删除了所有其他 JQUERY 代码,现在只留下一个简单的示例,但仍然一无所获。

这是我的 HTML 标记的摘录。注意,控件可以很好地引用,表单保存回数据库并显示值等。就像我说的一样,除了我尝试更改控件属性时,一切正常:

                    <li>
                        <label for="FirstPeriodReconDate">
                            <strong>First Recon Date:</strong>
                            </label>
                        <%= Html.TextBox("FirstPeriodReconDate", String.Format("{0:dd/MM/yyyy}",

Model.PaymentFrequency.FirstPeriodReconDate), new { @class= "date" })%>

任何人都可以提出任何建议,J

我只是注意到,我的所有 DATE 字段都包含并运行了全局代码,这似乎是在我的新代码运行后过度验证和执行。还没有弄清楚,但可能需要创建一个新类,以便我可以在需要的地方进行自定义行为。我有一个 global.js 里面有这个:

$(函数() { $('.date').datepicker({ showOn: '按钮', buttonImage: $("#AbsolutePath").val() + 'Content/images/Control_MonthCalendar.bmp', buttonText: '输入日期', buttonImageOnly:真, dateFormat: 'dd/mm/yy', 年份范围:'-20:+50', 更改月份:真, 更改年份:真 }); …………

【问题讨论】:

  • 你在用onload: { ... }做什么?你的标记在哪里?你确定#FirstPeriodReconDate 是你想要的元素吗?有很多缺失的细节。

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


【解决方案1】:

尝试更改格式,如http://jqueryui.com/demos/datepicker/#options所示。

在你的 html 头中添加以下函数:

<script type="text/javascript">
function  changeFormat() {
    $("#FirstPeriodReconDate").datepicker("option", "defaultDate", +1 );
    $("#FirstPeriodReconDate").datepicker( "option", "changeMonth", true );
    $("#FirstPeriodReconDate").datepicker( "option", "numberOfMonths", 5);
}
</script>

并从任何地方调用它,例如:

<input type="button" value="click" onclick="changeFormat()"/>

或者如果你想在页面加载时调用它:

<body onload="changeFormat()">
...
...
</body>

【讨论】:

  • 谢谢,此代码再次执行无错误,但打开日期选择器后未更改。我在 changeFormat 函数的两行之间放置了警报,以确认它的执行
【解决方案2】:
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Datepicker - Format date</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-    ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#datepicker" ).datepicker();
$( "#format" ).change(function() {
    $( "#datepicker" ).datepicker( "option", "dateFormat", $( this ).val() );
});
});
</script>
</head>
<body>

<p>Date: <input type="text" id="datepicker" size="30" /></p>

<p>Format options:<br />
<select id="format">
<option value="mm/dd/yy">Default - mm/dd/yy</option>
<option value="yy-mm-dd">ISO 8601 - yy-mm-dd</option>
<option value="d M, y">Short - d M, y</option>
<option value="d MM, y">Medium - d MM, y</option>
<option value="DD, d MM, yy">Full - DD, d MM, yy</option>
<option value="'day' d 'of' MM 'in the year' yy">With text - 'day' d 'of' MM 'in the      year' yy</option>
</select>
</p>

【讨论】:

    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 2013-10-24
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多