2015-06-16 39 views
1

我正在使用Knockout.js 3.3.0。在我的viewmodel中,我有很多數據行,我使用foreach綁定的方式呈現在表格中。在每一行都有一個綁定到可觀察對象的文本輸入。我想實現的是這樣的:當文本發生變化時,它應該發送到內聯函數中,以便我可以處理這些更改。這是我的輸入:如何用textInput綁定觸發一個函數?

<input type="text" data-bind=" 
    textInput: MyText(), 
    event: { 
     keyup: function(data, event) { console.log(data.MyText()); } 
    }" /> 

上面的代碼不輸出任何內容,我沒有收到任何錯誤。例如,如何在控制檯上立即查看MyText()中的更改以更改綁定?提前致謝!

+0

爲什麼你這樣做?也許更好的辦法是訂閱可觀察的屬性MyText? – VikciaR

回答

1

由於您對其價值和可觀察性本身具有約束力,因此您正在編寫「單向」的書寫textInput: MyText()

這就是爲什麼event綁定記錄不正確。

所以你只需要刪除()

<input type="text" data-bind=" 
    textInput: MyText, 
    event: { 
     keyup: function(data, event) { console.log(data.MyText()); } 
    }" /> 


<span data-bind="text: MyText" /> 

演示JSFiddle

+0

耶!現在我懂了。非常感謝! – Robert

相關問題