2012-05-21 2 views
0

backbone.js를 사용하여 웹 응용 프로그램을 만들었으며 약간의 문제가 발생했습니다. 그것은 내가 전혀 새로운 아이템을 만들 수있게 해준다. 그러나 render() 메서드에서 만든 버튼에 이벤트를 바인딩하지 않습니다. 기본적으로 새 항목을 추가 할 때마다 편집 및 삭제 버튼이 표시되며 모델을 바인딩하여 해당 항목을 소급 수정하거나 삭제할 수 있습니다.렌더링 된 버튼에 backbone.js 바인딩

내 백본보기 :

ClientView = Backbone.View.extend({ 
    el: $("body"), 
    initialize: function() { 
     this.clients = new Clients(null, { view: this }); 
    }, 
    events: { 
     "click #add-client": "AddClient", 
     "click .edit-client": "EditClient", 
     "click #save-client": "SaveNewClient" 
    }, 
    render: function (model) { 
     var compiled_template = _.template($("#Client-Template").html()); 
     $("#client-rows").append(compiled_template(model.toJSON())); 
     $("input:button", $("#client-rows")).button(); 
     $("#addClientModal").modal("hide"); 
     return this; 
    }, 
    AddClient: function (model) { 
     $("#addClientModal h3").text("Add Client"); 
     $("#addClientModal").modal("show"); 
    }, 
    EditClient: function (model) { 
     $("#addClientModal h3").text("Edit Client"); 
     $("#addClientModal").modal("show"); 
    }, 
    SaveNewClient: function() { 
     var client_firstName = $("#clientFirstName").val(); 
     var client_lastName = $("#clientLastName").val(); 
     var client_email = $("#clientEmail").val(); 
     var client_address = $("#clientAddress").val(); 
     var client_model = new Client({ FirstName: client_firstName, LastName: client_lastName, Email: client_email, Address: client_address }); 
     this.clients.add(client_model); 
     $("#clientFirstName, #clientLastName, #clientEmail, #clientAddress").val(""); 
     $("#addClientModal").modal("hide"); 
    } 
}); 

내 템플릿 :

<script id="Client-Template" type="text/template"> 
<tr> 
    <td><%=FirstName%></td> 
    <td><%=LastName%></td> 
    <td><%=Address%></td> 
    <td> 
     <input type="button" class="btn btn-info .edit-client" value="Edit" /> 
     <input type="button" class="btn btn-danger" value="Delete" /> 
    </td> 
</tr> 
</script> 

불행하게도 나는 전체 응용 프로그램을 페이스트 빈 수는 없지만, 운과 내가 잘못 가고 어디 통지 비교적 간단해야한다 내가 제공 한 것. 분명히 나에게서 더 많은 세부 사항이 필요한 경우 물어보십시오.

답변

1

당신은

.edit-client 

edit-client 
+0

당신을 감사해야합니다 귀하의 버튼에 class 속성에 잘못된 점 (.)이! 나는 약 2 시간 동안 자바 스크립트를 망쳐 놓고 있었고 마크 업에서 그렇게 단순 할 것이라고 생각하지 않았다. – JustinN

관련 문제