如何在Meteor中提交并保存bootstrap-datepicker的价值?

时间:2015-12-05 03:22:53

标签: javascript mongodb meteor bootstrap-datepicker

我正在使用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

1 个答案:

答案 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