2013-09-24 25 views
0

我是新來的knockoutJS,我真的很喜歡它。我的問題是,我無法弄清楚如何在綁定中包含某種驗證。我想要做的是禁用按鈕,除非文本字段中有文本。在knockoutJS動態esponsive屬性

<input type="text" name="answer" id="txtAnswer" placeholder="Answer..." data-bind="value: NewAnswer" /> 
<button data-inline="true" data-bind="click: addAnswer, enable: NewAnswer() != ''" >Add</button> 

在我的ViewModel我有 self.NewAnswer = ko.observable($("#txtAnswer").val())

我用盡了一切我能想到的,但不能使按鍵響應。它似乎評估一次,在頁面加載,然後沒有任何變化。

任何幫助表示讚賞。

回答

2

你可觀察的看起來很時髦。您在observable的調用中不需要jQuery選擇器。你可以通過data-bind屬性可觀察到的鏈接到一個元素:

self.NewAnswer = ko.observable(''); //replace '' with any default value you want 

然後你的標記:

<input type="text" name="answer" id="txtAnswer" placeholder="Answer..." data-bind="value: NewAnswer" /> 

編輯

這裏是一個的jsfiddle證明工作示例:http://jsfiddle.net/c6uts/

+0

謝謝你的回答。我編寫可觀測數據的方式很時髦,但並不是它沒有起作用的原因。不過,您的jsFiddle演示幫助我獲得了答案。最後,這與我的JavaScript庫錯誤順序一樣愚蠢。 –