2012-02-21 87 views
1

小提琴:http://jsfiddle.net/tdRCB/3/KnockoutJS映射值的功能

我在viewModel名爲filterInfoobservableArray
我有很多html控件創建過濾器(輸入,選擇等)

什麼是讓filterInfo的最佳方式包含在我的HTML控件的所有值? 例如:

我在輸入值123和選擇價值1,所以我需要,我filterArray包含兩個元素:

[{field: 'title', value: '123'}, {field: 'type', value: 1}] 

如果我輸入的是空的,我只在下拉列表中選擇第二元件,所得的陣列將是:

[{field: 'type', value: 2}] 

由於

回答

1
+0

是的,它的工作原理。但是,這樣,我必須創建如此多的可觀察值...每個過濾器都有可觀察的值。沒有它,它有可能得到期望嗎? – Lari13 2012-02-21 14:29:14

+0

如果您將有一定數量的過濾器,我認爲這種方法將是不錯的選擇。在其他情況下,如果您打算添加更多過濾器和更多類型,我建議您創建具有所有必需屬性和模板的過濾器實體以顯示過濾器。在這個模板中,你將決定如何在類型上顯示過濾器等等。我在文章中描述了這種方法,但是它是用俄語寫的。我相信你會通過文章http://delmadman.blogspot.com/2012/01/javascript-c-knockoutjs.html中的小提琴樣本來理解我的解決方案 – Madman 2012-02-21 15:02:47