這次問題的過程比較難以描述。
初始問題
問題 sample 如下
http://jsfiddle.net/CharlesLin/X2a5P/
當點選 radio button 時,一開始會點不順利,直到每點過一次以才會正常.
checked 只能 binding 到 string
查詢http://knockoutjs.com/documentation/checked-binding.html 中有提到下面這一段敘述
•For radio buttons, KO will set the element to be checked if and only if the parameter value equals the radio button node’s value attribute. So, your parameter value should be a string
意思是:當使用 checked 繫結時,必須是 string 才有用.
所以,就有了第二個版本:把 Id 改成 string
http://jsfiddle.net/CharlesLin/X2a5P/3/
這樣子就正常了.
我的解法
然而,將 Id 改型別是不合常理的。通常這些資料都是從伺服器端來的,並非我們能控制。最好在 client 能夠正常運作。
最後,只能修改 binding
http://jsfiddle.net/CharlesLin/X2a5P/4/
將 value 改成字串。改正 one-way binding 不影響此處值的顯示。
如此就符合我的需求了
沒有留言:
張貼留言