【发布时间】:2011-05-09 08:15:06
【问题描述】:
我是使用backbone.js 和jquery 的新手。 我喜欢将动态生成的元素绑定到视图中的单击事件。这是我的代码:
InvoiceView = Backbone.View.extend({
initialize: function () {
var _this = this;
$('input.BtnValidate').bind('click', function () {
_this.model.save();
_this.model.createTable();
_this.model.updateTotalAmount();
_this.model.clear();
});
$('img.ImgDelete').bind('click', function () {
_this.model.RemoveTableRow();
_this.model.updateTotalAmount();
});
}});
其中img.ImdDelete是表格单元格的动态生成数据。
模型中的代码是:
InvoiceModel = Backbone.Model.extend({
createTable: function () {
var lastRow = $('#TblInvoiceList tr:last');
var newRow = $('<tr>');
newRow.append($('<td>').text($('input.Name').val()), $('<td>').text($('input.GrossAmount').val()));
newRow.append("<td class='center'><img class='ImgDelete' src='image/ButtonDelete.png' /></td>");
lastRow.before(newRow);
$("tr:nth-child(even)").addClass("white");
lastRow.addClass("tr.last");
},
RemoveTableRow: function () {
alert("delete the row");
var deletedRow = $('#TestTable td img.ImgDelete');
S(deletedRow).parent().parent().remove();
});
}});
我的问题是事件未绑定到模型。而且我没有看到警报消息。
【问题讨论】:
标签: javascript jquery viewmodel backbone.js