backbone.js에 새로운 점은 내 테이블의 모든 행에서 고유 ID를 생성하기 위해 backbone.js에 필요한 구문/코드입니다. delete gets pressed 테이블에서 특정 행을 삭제합니다.백본의 테이블 행 삭제 버튼과 ID를 연결하는 방법
$(function(){
var Person = Backbone.Model.extend({
id: 0,
name: 'default name',
age: 100
});
var PersonCollection = Backbone.Collection.extend({
model: Person
});
var PersonView = Backbone.View.extend({
el: $('#personEL'),
events:
{
"click #login-btn" : "loginClick"
},
loginClick: function()
{
var name = $('#name').val();
var age = $('#age').val();
var newPerson = new Person({id: 1,name: name, age : age});
this.personCollection.add(newPerson);
var showit = new zview({model: newPerson});
},
initialize: function(){
this.personCollection = new PersonCollection();
this.render();
},
render: function()
{
var template = _.template($("#personInputTemplate").html(), {});
this.el.html(template);
return this;
}
});
zview = Backbone.View.extend({
el: $('#personTable'),
events:{
'click #delete' : 'deleteItem'
},
initialize: function()
{
this.render();
return this;
}
,
render: function()
{
var template = _.template($('#personDisplayTemplate').html(), this.model.toJSON());
console.log(template);
$(this.el).append(template);
}
,
deleteItem: function()
{
console.log('delete');
}
});
var persons = new PersonView();
});
HTML :
<body>
<script type="text/template" id="personInputTemplate">
<p>Person Name<input type="text" id="name" /></p>
<p>Person Age<input type="text" id="age" /></p>
<p><button id="login-btn">Save</button></p>
</script>
<script type="text/template" id="personDisplayTemplate">
<tr>
<td><span><%= name ? name : '' %></span></td>
<td><span><%= age ? age : '' %></span></td>
<td><a href="#" id="<%= id ? id : '' %>" class="delete"> Delete</a> </label></td>
</tr>
</script>
<div id ="personEL"></div>
<div id="showPerson"></div>
<div id="display">
<table id="personTable">
</table>
</div>
어떤 도움이 조언은, 코드 감사드립니다.
답 답장을 보내 주셔서 감사합니다. 하지만 레코드가 서버에서 결국 삭제되도록 ID를 여전히 필요합니다. 나는 그것을 어떻게 얻을 것인가? –
@Mian : 행에 데이터 속성을 사용하고 싶습니다. 내 업데이트를 참조하십시오. –