2014-04-09 50 views
0

我能夠創建一個動態表單與此鏈接MVC Knockout.js

var viewModel = { 
    users : ko.observableArray(), 
    addUser : function() { 
     this.users.push({ 
      name : ko.observable(), 
      choicestring : ko.observable() 
     }); 
    } 
}; 

viewModel.addUser(); 

ko.applyBindings(viewModel); 

我的問題是我不知道如何刪除我已經添加了控制, 會怎麼做我的幫助,使用Knockout.js

感謝和問候

+0

你可以給一些更多的細節?你有一個打開2個輸入字段的表單,想單擊一個「保存」按鈕(向用戶數組添加新用戶),然後想要形成消失? –

+0

嗨infadelic,在那套代碼中,我可以添加新的控件,現在我想從數組中刪除一個控件,當它旁邊的刪除按鈕被點擊。 – Nusij

回答

1

Knockout的可觀測陣列有一個.remove(item)函數可以爲你做到這一點。所以,你可以添加到您的視圖模型:

removeUser : function (user) { 
    this.users.remove(user); 
} 

再用鋼絲起來是這樣的:

<ul data-bind="foreach: users"> 
    <li> 
     <span data-bind="text: name"></span> 
     (<a href="#" data-bind="click: function() { $parent.removeUser($data); }">Remove</a>) 
    </li> 
</ul> 
<button data-bind="click: addUser">Add user</button> 

的jsfiddle例如:http://jsfiddle.net/8zR5u/

+0

這很好!謝謝Wedvich – Nusij

0

通常它的類似的東西(有效期的WebAPI所以對於MVC以及):

self.remove = function (product) { 
     // First remove from the server, then from the view-model. 
     $.ajax({ type: "DELETE", url: baseUri + '/' + product.Id }) 
      .done(function() { self.products.remove(product); }); 
    }