使用knockout快速查找有关在文本框中键入内容的数据

时间:2013-04-25 08:00:12

标签: jquery knockout.js

我想快速查看使用knockout.js在文本框中输入一些文本。即,每当用户在文本框中键入相关数据时,在文本框中以下拉形式显示的文本框中输入字符串。任何人都可以告诉我如何实现这一功能?

非常感谢。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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/