在Angularjs中使用指令触发ng-change

Trigger ng-change using Directive in Angularjs

本文关键字:ng-change 指令 Angularjs      更新时间:2023-09-26

我使用ng-options在angularjs中迭代一些数据,当选择值时我想要一个选定的对象,为此我创建了指令..

return {
    require: 'ngModel',
    restrict  : 'A',
    link: function(scope, element, attrs, ctrl) {
        $(element).combobox({
            source: scope[attrs.reportitems],
            select: function(event, ui) {
                $timeout(function() {
                        if(attrs.reportitems=="zoneList"){
                            if(ui.item.attributes.value.value != "0") {
                                scope["update"](ui.item.attributes.value.value);
                            }
                        }
                }, 0);
            }
        });
    },
}

这将在控制器中调用更新方法,它将传递数据数组的索引位置,但我想要对象本身而不是索引。或者在UI中触发ng-change方法。这样我就可以在控制器的更新方法中有一个对象。请查看这个活塞的整个代码…链接

有谁能帮帮我吗?

据我所知,当一个项目被选中时,整个对象正在数组内部传递。你只需要res[0]来访问对象。从这里,您可以使用id、tableName和toolTip属性。或者,您可以直接分配ng-change=update(selected[0])来获取对象。

我很好奇为什么你定义$scope.selected = []然后分配$scope.selected = res