我正在使用Meteor中的应用程序进行原型设计,并且在使用datepicker时遇到了问题。我在Meteorpad中创建了一个最小的例子。
如何在点击时从datepicker中获取所选值并保存到数据库?我的活动代码位于CREATE TABLE IF NOT EXISTS `test`.`course_enrollment` (
`courseID` INT(10) UNSIGNED NOT NULL,
`studentID` BIGINT(10) UNSIGNED NOT NULL,
`startDate` DATE NULL DEFAULT NULL,
`endDate` DATE NULL DEFAULT NULL,
`semester` VARCHAR(5) NULL DEFAULT NULL,
`section` TINYINT(3) UNSIGNED NULL DEFAULT NULL,
`courseGrade` VARCHAR(3) NULL DEFAULT NULL,
FOREIGN KEY (`courseID`) REFERENCES courses(`courseID`) ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (`studentID`) REFERENCES students(`studentID`) ON DELETE CASCADE
ON UPDATE CASCADE);
的第8行。我正在使用CourseID: -- Student ID -- Semester
1 30 FA15
1 30 FA16
2 30 FA16
2 30 SP17
2 31 SP17
But not
1 30 FA18
1 30 FA18
标记作为datepicker的一部分,但由于没有client/app/js
按钮,我不确定我是否实际更改了日期。 input
在这里工作吗?
submit
答案 0 :(得分:0)
onchange在这里工作吗?
不,它没有。您需要在 changeDate
函数中收听 Template.Valuation.onRendered
事件:
Template.Valuation.onRendered(function() {
$('#valuation .input-group.date').datepicker({
todayBtn: "linked",
orientation: "top auto",
daysOfWeekDisabled: "0,6",
todayHighlight: true,
autoclose: true,
format: 'yyyy-mm-dd'
});
var self = this;
$('#valuation .input-group.date').datepicker().on('changeDate', function(ev) {
var valuationId = self.data._id;
var selectedDate = $('#selectedDate').val();
Valuations.update(valuationId, {
$set: {
valuationDate: selectedDate
}
}, function() {});
});
});
我在valuationPrice
模板助手中发现了一个错误。这可能会解决它:
valuationPrice: function() {
var valuation = Valuations.findOne({
_id: this._id
});
var valuationDate = valuation.valuationDate;
var valuationPrice = 0;
_.each(valuation.closingPrices, function(closingPrice) {
if (closingPrice.date == valuationDate) valuationPrice = closingPrice.close;
});
return valuationPrice;
}
以下是更新后的MeteorPad。