Javascript 如何在Meteor中提交和保存bootstrap datepicker的值?

Javascript 如何在Meteor中提交和保存bootstrap datepicker的值?,javascript,mongodb,meteor,bootstrap-datepicker,Javascript,Mongodb,Meteor,Bootstrap Datepicker,我正在Meteor中制作一个应用程序的原型,在使用datepicker时遇到了问题。我在中创建了一个最小的示例 单击并保存到数据库时,如何从日期选择器获取所选值?我的事件代码在client/app/js的第8行。我正在使用一个input标记作为日期选择器的一部分,但是由于没有submit按钮,我不确定是否确实在更改日期。onchange在这里工作吗 Template.Valuation.events({ 'onchange #selectedDate': function(e) {

我正在Meteor中制作一个应用程序的原型,在使用datepicker时遇到了问题。我在中创建了一个最小的示例

单击并保存到数据库时,如何从日期选择器获取所选值?我的事件代码在
client/app/js
的第8行。我正在使用一个
input
标记作为日期选择器的一部分,但是由于没有
submit
按钮,我不确定是否确实在更改日期。
onchange
在这里工作吗

Template.Valuation.events({
  'onchange #selectedDate': function(e) {
    e.preventDefault();
    var valuationId = this._id;
    var selectedDate = $(e.target).find('[name=selectedDate]').val();
    Valuations.update(valuationId, {$set: {valuationDate: selectedDate}}, function () {
      });
  }
});
onchange在这里有用吗

Template.Valuation.events({
  'onchange #selectedDate': function(e) {
    e.preventDefault();
    var valuationId = this._id;
    var selectedDate = $(e.target).find('[name=selectedDate]').val();
    Valuations.update(valuationId, {$set: {valuationDate: selectedDate}}, function () {
      });
  }
});
不,没有。您需要在功能中收听事件:

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
template助手中有一个bug。这可能会解决它:

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;
}
这里是最新的