更改UI元素输入值不会显示输入中的更改

时间:2015-10-28 10:03:44

标签: backbone.js marionette

我在更改输入值时遇到问题。下面的代码有效但它只设置html值=“geolocationvaluehere”,问题是它不显示输入中的文本(geolocationvaluehere),它是空的。

我也尝试使用self.ui.location.val(loc.city),但没有成功。

View.Form = MyProject.CustomItemView.extend({
  template: formTpl,

  ui: {
    location: 'input[name=location]'
  },

  onRender: function () {
    var self = this;

    this.saveLocationToStorage(function(err) {
      if( ! err && localStorage.getItem('geoLocation')) {
        var loc = JSON.parse(localStorage.getItem('geoLocation'));

        if(self.ui.location[0]) self.ui.location.attr('value', loc.city);
      }
    });
  }
});

1 个答案:

答案 0 :(得分:0)

您应该使用jQuery val function而不是attr

设置值
self.ui.location.val(loc.city);

JSBin