2013-10-10 3 views
0

spine.js 및 coffeescript에서 select-all 확인란을 사용하여 tableView를 만들려고합니다. 선택할 수있는 모든 바인딩을 테이블에있는 모든 모델을 선택하는 방법을 이해할 수 없습니다. "select-all"체크 상자는 UserList보기에서 렌더링됩니다. ItemView 코드 :Spine.js 및 select-all 확인란

class UserItem extends Spine.Controller 
    className: 'user-item' 
    tag: 'tr' 

    elements: 
     'input[type="checkbox"]': 'checkbox' 

    events: 
     'click input[type="checkbox"]': 'itemChbClicked' 

    constructor: -> 
     super 
     @item.bind("update", @render) 
     @item.bind("destroy", @remove) 

    render: -> 
     @html require('views/user/item')(@item) 
     @ 

    remove: => 
     @el.remove() 

    itemChbClicked: (e) -> 
     @item.selected = @checkbox.is(':checked') 

ITEMLIST 코드 :

class UserList extends Spine.Controller 
    className: 'user-list' 

    elements: 
     '.items': 'items' 
     ".select-all": "select_all_chb" 

    constructor: -> 
     super 

     @html require('views/user/list')() 
     User.bind("create", @addOne) 
     User.bind("refresh", @addAll) 
     User.fetch() 


    addOne: (user) => 
     view = new UserItem(item: user) 
     @items.append(view.render().el) 

    addAll: => 
     User.each(@addOne) 

는 어떤 도움을 주시면 감사하겠습니다! 감사!

답변

0

가까이에있는 것처럼 보입니다. UserList에에서 select_all_chb 기능을 만들고 사용자를 변경 한 : 당신이 "렌더링"로 "변경"이벤트를 바인딩 한 이후

class UserList 
    select_all_chb: => 
    User.each (user) -> 
     user.selected = true 
     user.save() 

모든 점검 항목이 다시 그려됩니다.