jQuery Datepicker,事件 AFTER select,而不是 “onSelect”
jQuery Datepicker, event AFTER select, not "onSelect"
所以我正在从jQuery UI日期选择器编写日历,这种实例的更新让我发疯。
目标是用普通表中的事件填充日历,使用正确的信息(表中给出日期)它工作正常。它用事件填充日历,您可以拖放它们以使用正确的信息更新表。这一切都完成了。
然而;我也希望能够单击日期,并为所选的特定日期创建事件,这很容易。但是,当我单击时,所有以前的事件都会被删除,因为日历的实例已刷新。(真的很难解释)。
"初始化"功能为日历中的每个TD提供具有正确"日期"属性的UL(用于拖放),并使用外部表中的LI填充UL。
因此,如果我这样做:
$("#datepicker").datepicker({
firstDay: 1, //Mon-Sun
onSelect: function() { initialize(); }
});
什么也没发生..但如果我这样做:
$("#datepicker").datepicker({
firstDay: 1, //Mon-Sun
onSelect: function() { initialize();alert(); }
});
您实际上可以看到日历正在正确填充(警报阻止代码进一步填充),但是当按"确定"时,日历实例会刷新并且事件会消失。
所以我需要的是一种"afterNewInstanceCreated:"命令来工作。有什么想法吗?
这是它的外观ATM:(JSFiddle),点击一个日期也看到"魔术"。http://jsfiddle.net/N97QA/
真的会感谢任何帮助
在这里找到答案:
如果你在 jquery-ui 1.9 版本之前需要一个 "afterShow"-event,你可以覆盖 datepicker._updateDatepicker 函数。
例如:
$(function() {
$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;
$.datepicker._updateDatepicker = function(inst) {
$.datepicker._updateDatepicker_original(inst);
var afterShow = this._get(inst, 'afterShow');
if (afterShow)
afterShow.apply((inst.input ? inst.input[0] : null)); // trigger custom callback
}
});
现在,日期选取器在每次从日期选取器元素更新后都会引发一个"afterShow"事件。然后只需在数据选取器中使用此事件
$("#calendar").datepicker({
firstDay: 1,
showOtherMonths: true,
selectOtherMonths: true,
afterShow: function() {console.log("it works")}
});
相关文章:
- jquery点击函数select&取消选择
- 在html Select中添加搜索
- Jquery:未触发select事件
- 如何在PHP中使用$_POST获取Select元素值
- 无法在Ionic select中预先选择最后一个选项
- Dojo:访问dijit.form.Select中单击的项目
- X秒后刷新select元素
- 根据select选项元素将表单重定向到不同的URL
- 在select元素中显示highchart dashstyle(svg)
- jQuery动态表单显示在select选项上
- Javascript Select OnChange没有'不要第二次工作
- 更改基于它的Select OPTION's INDEX(Jquery)
- 正在获取select上的功能id
- 根据Select值添加/删除表行
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 如何在触发事件后选择select选项
- JQuery 遍历当前 SELECT 值
- 当使用select作为标签时,如何使用ng选项禁用angularjs中的选项
- MongoDB + SQL Select equivalent
- jQuery Datepicker,事件 AFTER select,而不是 “onSelect”