无法在 Meteor 中提交 JQuery 日期选择器值
Unable to submit JQuery datepicker value in Meteor
我在我的项目中添加了一个日期选择器 (https://github.com/deepwell/meteor-bootstrap-datepicker),但我很难将所选日期提交到我的 Mongo 文档。
如果我按原样使用以下代码,日期选择器工作正常,但提交事件不起作用。但是,日期选择器字段仍然被清除。
如果我注释掉 Template.datepicker.rendered 这三行,表单提交事件就可以正常工作并插入到 Mongo 文档中。想法?
// item.html
{{#if editMode}}
{{> datepicker}}
{{/if}}
// datepicker.html
<template name="datepicker">
<form class="form-inline mod-field item-due">
<div class="mod-field">
<span>Due date: </span><input type="text" name="text" class="datepicker" />
</div>
</form>
</template>
// datepicker.js
Template.datepicker.rendered = function() {
this.$('.datepicker').datepicker();
};
Template.datepicker.events({
'submit .datepicker': function(event) {
event.preventDefault();
var itemDue = event.target.text.value;
Items.update(this._id, {$set: {itemDue: itemDue}});
event.target.text.value = "";
return false;
}
});
好吧,解决方案最终变得非常简单。当 window 仍然存在时,日期并未正式注册为值。关键是添加 autoclose: true,
命令。
Template.datepicker.rendered = function() {
this.$('.datepicker').datepicker({
autoclose: true,
});
};
我在我的项目中添加了一个日期选择器 (https://github.com/deepwell/meteor-bootstrap-datepicker),但我很难将所选日期提交到我的 Mongo 文档。
如果我按原样使用以下代码,日期选择器工作正常,但提交事件不起作用。但是,日期选择器字段仍然被清除。
如果我注释掉 Template.datepicker.rendered 这三行,表单提交事件就可以正常工作并插入到 Mongo 文档中。想法?
// item.html
{{#if editMode}}
{{> datepicker}}
{{/if}}
// datepicker.html
<template name="datepicker">
<form class="form-inline mod-field item-due">
<div class="mod-field">
<span>Due date: </span><input type="text" name="text" class="datepicker" />
</div>
</form>
</template>
// datepicker.js
Template.datepicker.rendered = function() {
this.$('.datepicker').datepicker();
};
Template.datepicker.events({
'submit .datepicker': function(event) {
event.preventDefault();
var itemDue = event.target.text.value;
Items.update(this._id, {$set: {itemDue: itemDue}});
event.target.text.value = "";
return false;
}
});
好吧,解决方案最终变得非常简单。当 window 仍然存在时,日期并未正式注册为值。关键是添加 autoclose: true,
命令。
Template.datepicker.rendered = function() {
this.$('.datepicker').datepicker({
autoclose: true,
});
};