2013-12-16 68 views
1

我無法從列表中使用javascript和淘汰賽一起刪除字符串。讚賞任何建議,非常感謝,詹姆斯如何從刪除列表中刪除值

見這個例子:http://jsfiddle.net/rxkU3/4/

代碼片斷

viewModel.toRemove = ko.observable(); 
viewModel.remove = function() { 
    viewModel.Article.Keywords().remove(viewModel.toRemove()); 
} 

在Chrome的控制檯我得到的錯誤: 「有沒有方法 '刪除'」

回答

5

表達式viewModel.Article.Keywords()是一個純字符串,而不是數組。因此,沒有remove函數。

如果數據的確返回了由管道定義的列表,那麼您可以嘗試調用字符串上的replace函數來刪除該值(這不代表刪除第一個值,並且還會刪除多個條目如果它們具有相同的值):

var newKeywords = viewModel.Article.Keywords().replace("|" + viewModel.toRemove(), ""); 
viewModel.Article.Keywords(newKeywords); 

小提琴:http://jsfiddle.net/rxkU3/6/

不過,我不建議此解決方案。它是很多更好和更少的錯誤傾向於使用實際的數組,如果可能的話。

在這種情況下,您可以簡單地調用Keywords.remove()從數組中刪除條目。

見本小提琴(分裂原字符串到一個數組):http://jsfiddle.net/rxkU3/8/

見本小提琴(在JSON數據已經是一個數組):http://jsfiddle.net/rxkU3/7/

+0

多麼容易到每個相鄰值旁邊都有刪除? –

+2

刪除值:: http://jsfiddle.net/beauxjames/NqKUk/ ||標記爲已答覆每個約瑟夫 – beauXjames

+0

謝謝你們。 –