获取有关角度选择的输入更改的当前文本

时间:2015-01-21 08:25:47

标签: javascript angularjs selectize.js

我正在使用此angular port进行选择。我在视图中有两个选择元素,其中有两个需要向用户显示的选项,但我不认为一次查询所有这些选项然后将其卸载到用户的上面是个好主意。计算机。

相反,我想听取角度选择的键盘更改输入,然后将当前文本输入值发送回服务器以获取更短的自动完成选项列表。

在jQuery中,它类似于:

$(".selectize-input_1").on('input', function() {
    var current_text = $(".selectize-input").val();
    $.get("/autocomplete", current_text, function(options) {
         // Set new autocomplete options for selectize
    });
})

对于angular-selectize,我有一个$http.post(current_text)的角度服务,但是我不太确定如何监听文本输入的变化(以及获取当前文本值)。 original selectize usage建议onChange事件,而query表示raw_input将是最佳选择。但是,以下内容无效:

$scope.config_one = {
    create: true,
    valueField: 'id',
    labelField: 'name',
    delimiter: ',',
    onChange: function(value) {
        // Nothing happens when typing into input
        console.log(value);
    }
}
$scope.options_one = ['one', 'two']

<selectize config="config_one" options="options_one" ng-model="test"></selectize>

而且我不确定如何获得query。如何监听输入的变化并获取当前文本?

1 个答案:

答案 0 :(得分:3)

onChange()事件仅在输入框失去焦点后触发,使用onType()事件跟踪关键事件。

而不是: onChange: function(value) { // Nothing happens when typing into input console.log(value); }

尝试: onType: function(value) { console.log(value); }