django-autocomplete-light 和 angular:angular 如何获取选择的值

django-autocomplete-light and angular: how can angular get the value selected

在非管理页面上使用 django-automcomplete-light V3 和 angular。
使用小部件 autocomplete.ModelSelect2

selected 值存储在哪里?使用 firebug,它不在新的隐藏 html 元素中,如果我尝试观看原始(现在隐藏的)select 元素,如果我更改 [=33=,它的值永远不会改变]ed 自动完成小部件中的值。

如何才能angularwatch/read这个值?

更新:
正如下面的@visegan 指出的那样,您可以使用 jquery 语法来获取值,但由于某种原因您无法观看它。

即这款手表永远不会被触发:

$scope.$watch(function(){
    return $('#id_field').val();
    },
    function(newVal, oldVal){
        console.log('current %r', newVal);
        $scope.models.foo=parseInt(newVal);
});

好吧,我刚刚尝试了我的项目,它非常简单:

$('#id_field').val()

老实说,我也不确定这个值到底是从哪里来的。

至于更改观察器:自动完成灯现在使用 select2 组件,这在 angular 中显然有点问题。 有两种方法可行:第一种是添加更多 jquery:

$('#id_field').change(function() {alert('changed')});

这个我测试过了。另一种方法是以某种方式在本地进行。看看Select2 event handling with Angular js