我的输入是在HTML文件中,我的按钮在js文件中。我是初学者,请教我。我仍然混淆了backbone.js
var ListView = Backbone.View.extend({
el: $('body'),
events: {
'click button#add': 'addItem'
},
initialize: function () {
_.bindAll(this, 'render', 'addItem', 'appendItem');
this.collection = new List();
this.collection.bind('add', this.appendItem);
this.counter = 0;
this.render();
},
render: function () {
$(this.el).append("<button id='add' class='btn btn-primary clear'>Add Items</button>");
$(this.el).append("<ul class='ul_adjust'></ul>");
_(this.collection.model).each(function (item) {
appendItem(item);
}, this);
},
addItem: function () {
var item = new Item();
item.set({
part1: $("#name").val()
});
this.collection.add(item);
},
appendItem: function (item) {
var itemView = new ItemView({
model: item
});
$('ul', this.el).append(itemView.render().el);
},
});
你知道了吗?
我删除了一些没有必要,但我认为这将插入到这里。
答案 0 :(得分:1)
您的events
已设置好,因此当您点击#add
按钮时,它会调用addItem
功能。所以你只需要在同一个函数中清除文本框#name
。
我会这样做:
$("#name").val("");
在addItem
函数的末尾,在this.collection.add(item);
之后,所以只有在您不再需要它时才会清除该值。