2013-04-25 2 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

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/

Смежные вопросы