【发布时间】:2016-01-03 23:43:36
【问题描述】:
我正在编写一个带有一些输入字段(在每一行上)的 jQuery 数据表。其中一个字段需要是日期,因此我尝试使用 jQuery datepicker 来完成该字段的输入。
使用模板为每一行呈现有问题的字段:
var invoiceDateInputTemplate = '<input class="datepicker" id="InvoiceDate_{0}" name="InvoiceDate_{0}" type="text" />';
在数据表构建期间,我呈现模板并将 {0} 替换为适当的 Id,以便每行的 id 和名称参数都是唯一的。
在我的 $(document).ready() 函数结束时,在构建表之后,我运行以下代码,使用类选择选项将我的每个“日期”字段变成启用日期选择器的字段。出于某种原因,这似乎不想导致字段启用日期选择器:
$(function() {
$(".datepicker").datepicker();
});
如果我在 $(".datepicker").datepicker() 之前添加一个 alert() 调用,它就像一个冠军......在 datepicker 初始化之后调用 alert() 不起作用。
这会导致 DatePicker 呈现:
$(function() {
alert();
$(".datepicker").datepicker();
});
这会导致 DatePicker 无法呈现(包括在内以提供示例):
$(function() {
$(".datepicker").datepicker();
alert();
});
为什么会这样?我是否遗漏了导致 DatePicker 无法按预期初始化字段的内容?我很确定必须触发警报以使 DatePicker 正常工作不是标准操作程序。另外,澄清一下,我不相信在数据表构建后我有任何领域被关注。
【问题讨论】:
-
.datepicker一定会在 js 运行之前渲染吗?尝试将其包装在setTimeout(function () {$(".datepicker").datepicker();}, 500) -
你应该添加一个准备好的文档
-
您应该只在edit 中添加minimal reproducible example,这样它就可以成为主题。
标签: javascript jquery jquery-ui datepicker