2013-04-25 76 views
0

我想快速查看使用knockout.js在文本框中輸入一些文本。即無論何時用戶在文本框中鍵入文本框中的相關數據,以便以文本框下拉的形式顯示的文本框中輸入的字符串。任何人都可以告訴我如何實現此功能?快速查找關於在文本框中使用敲除輸入的數據

很多謝謝。

回答

0

是的,你可以強制值突變鍵按下後:

<input data-bind="value: someValue, valueUpdate: 'afterkeydown'" /> 

上有knockout.js首頁的完整的代碼示例:

<p>Your value: <input data-bind="value: someValue, valueUpdate: 'afterkeydown'" /></p> 
<p>You have typed: <span data-bind="text: someValue"></span></p> <!-- updates in real-time --> 

<script type="text/javascript"> 
    var viewModel = { 
     someValue: ko.observable("edit me") 
    }; 
</script> 
+0

不錯,你能分享樣品代碼嗎? – Candy 2013-04-25 10:18:01

0

下面是一些示例代碼:

var VM = function() { 

    this.text = ko.observable(''); 

    this.suggestionStrings = [ 
     'Hello', 
     'world', 
     'name', 
     'richard' 
    ]; 

    this.suggestions = ko.computed(function() { 

     var text = this.text(); 

     return ko.utils.arrayFilter(this.suggestionStrings, function (str) { 
      return new RegExp(text, 'i').test(str); 
     }); 
    }, this); 
}; 

ko.applyBindings(new VM()); 

示例:http://jsfiddle.net/badsyntax/f8aCY/