我正在尝试 todos.jsBackbone.js 演示。
在演示中,他们有一个输入文本框,可以从初始化函数中获取数据,如下所示:
<input id="new-todo" type="text" placeholder="Todo item...">
initialize: function () {
this.input = this.$("#new-todo");
我的问题是,是否可以从 3 个输入文本框而不是仅一个输入文本框中获取数据?
我可以尝试这个,但这似乎扩展得不太好:
<input id="new-todo1" type="text" placeholder="Todo item...">
<input id="new-todo2" type="text" placeholder="Todo item...">
<input id="new-todo3" type="text" placeholder="Todo item...">
初始化:函数(){
this.input = this.$("#new-todo1");
this.input =+ this.$("#new-todo2");
this.input =+ this.$("#new-todo3");
有更好的方法吗?
谢谢
最佳答案
我假设您想从多个输入中获取值,并将它们作为标题放在待办事项中。我建议在 initialize 中存储对输入的引用:
initialize: function () {
this.input = this.$("#new-todo");
...
}
并且 createOnEntermethod 应该更改为:
createOnEnter: function(e) {
//concatenate the values from all inputs
var val = "";
this.input.each(function() {
val += ($(this).val());
});
if (e.keyCode != 13) return;
if (!val) return;
Todos.create({title: val});
//reset all the input elements
this.input.each(function() {
$(this).val('');
});
}
输入元素应具有相同的 id - “new-todo”。
关于javascript - 使用backbone.js读取多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18537471/