Javascript 日期选择器未显示在第一个组件上单击
我的JSP中有以下代码,我用敲除js绑定变量 我的js是Javascript 日期选择器未显示在第一个组件上单击,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我的JSP中有以下代码,我用敲除js绑定变量 我的js是 calender: function () { console.log("in calender"); var dates = $("#from1, #to1").datepicker({ defaultDate: "+1w", changeMonth: true, numberOfMonths: 1, onSelect: function (selectedDate) {
calender: function () {
console.log("in calender");
var dates = $("#from1, #to1").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
},
jsp是
当我单击开始日期或结束日期时,日历方法被调用,但问题是第一次在第一个组件上单独调用click just方法时没有显示日期选择器,无论其id如何。从下一次单击第二个组件开始,只有日期选择器可以正常工作。这里有什么我遗漏的吗?几句话
1.将数据选择器初始化移出日历方法。
2.为每个字段创建两个单独的方法,显示适当的日期选择器,即:
$("#from1, #to1").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
........
calenderFrom: function () {
$("#from1").datepicker("show");
}
calenderTo: function () {
$("#to1").datepicker("show");
}
<input type="text" id="from" name="from" data-bind="click: calenderFrom, value: starDate"/>
<input type="text" id="to" name="to" data-bind="click: calenderTo, value: endDate"/>
UPD
我想你用的是jQueryUI日期选择器。如果是这样,您实际上不需要手动显示它;只需初始化它它不会触发,因为在第一次通过calendar方法之前,输入实际上不是数据采集器。第二次单击输入时是一个数据采集器,因为它是在calendar方法的第一次运行时设置的 为什么不直接这样做而不是使用日历方法:
$("#from1, #to1").datepicker({...});
请看我下面的答案,在calendar方法第一次运行之前,输入不是数据采集器,该方法初始化输入的数据采集器。在第二次单击时,数据采集器工作,因为它是在第一次通过calendar方法时初始化的。有没有办法用相同的calendar方法初始化数据采集器?将它们作为一个单独的方法,在我们的视图模型中给出js中的编译错误。
$("#from1, #to1").datepicker({...});