输入清除问题
Inputs clearing issue
我有一个backbone.js应用程序,其中有三个视图(其中两个是子视图)
我在这里放了一个简化版本的应用程序:
http://jsfiddle.net/GS58G/
问题是,如果我创建了一个产品(默认为Book
子视图),并在"一本好书"中输入,然后单击"添加产品","一本新书"就会被清除。当你添加另一个产品时,我该如何修复它以保存"一本好书"?
我对产品书籍、杂志和视频的子视图如下:
var ProductBookView = Backbone.View.extend({
render: function () {
this.$el.html( $("#product_book_template").html() );
}
});
var ProductVideoView = Backbone.View.extend({
render: function () {
this.$el.html( $("#product_video_template").html() );
}
});
var ProductMagazineView = Backbone.View.extend({
render: function () {
this.$el.html( $("#product_magazine_template").html() );
}
});
我已经分叉并更新了你的jsfiddle。
问题在此声明中:
var productBookView = new ProductBookView({
el: $('.product-view')
});
你需要用更新它
var productBookView = new ProductBookView({
el: $('.product-view:last')
});
原因是,ProductBookView
的el
元素应该是最后一个.product-view
。在您提供的代码中,el
被分配给DOM中存在的所有div
元素,这些元素具有名为product-view
的类。因此,每次添加新产品时,所有类名为product-view
的div元素都会更新为product_book_template
html。因此,输入框被清除。
您必须使用模板。。
...
...
my_template: _.template($("#store_template").html()),
initialize: function() {
this.render();
},
events: {
"click #addProduct": "addProduct"
},
render: function() {
this.$el.html( this.my_template() );
},
....
..
相关文章:
- Magento自定义选项-清除输入字段问题
- 单击按钮更改颜色/清除画布时画布出现问题
- 空函数似乎从包装器中清除了一些类,但不是全部.试图找出问题所在
- 清除谷歌地图图层时遇到问题
- 在 JS 中清除计时器时出现问题
- 如何清除两个提交按钮的验证问题
- 清除超时的问题
- 清除 JavaScript 中按钮的变量输入时遇到问题
- javascript setInterval 清除问题
- 正在清除setTimeout问题
- AEM中清除对话框值的问题
- 从html页面清除cookie时出现问题
- 清除间隔逻辑问题
- 使用jquery清除select字段,但呈现问题
- JavaScript计算器问题与清除按钮
- 绘制图形时清除画布的问题
- CSS清除问题浮动
- 不能清除我的TweenMax预加载动画完成后,所以我不能访问我的网站?我该如何解决这个问题?
- 在引导中类清除修复的问题
- 这个清除超时有什么问题?