使用Angular Chosen时ng模型的问题

时间:2017-04-16 21:21:34

标签: javascript angularjs jquery-chosen angular-chosen

我有一个表,其中包含一个用户列表,其中每行的最后一列包含一个按钮。单击该按钮时,会出现一个弹出窗体。在弹出窗口中,我在Angular Chosen的帮助下使用了多重选择。每个用户都有一个兴趣列表'我想在多个选择中显示它们。问题是即使在获取所有必要数据之后,ng模型似乎是空的。

这是多重选择。

<select id="multipleSelect"
                    data-placeholder="Select interests..."
                    chosen
                    multiple
                    ng-model="$ctrl.activeInterests" ng-options="interest for interest in $ctrl.interests"
                    style="width:370px; height:100px;">
                    <option value=""></option>
</select>

这是我的组件。单击按钮时会触发此功能。

this.editButtonClicked = function(tableRowUser) {
                $scope.firstName = tableRowUser.firstName;
                $scope.lastName = tableRowUser.lastName;
                $scope.email = tableRowUser.email;
                $scope.role = tableRowUser.role;
                $scope.tag = tableRowUser.tag;
                $scope.username = tableRowUser.username;

                // Fetch the active interests
                fetchInterests($scope.tag);
                // Fetch the available interests the user can choose
                fetchAllAvailableInterests();
                // After this, make the Edit Form/Popup visible
                togglePopupClass();
            }

function fetchInterests(newInterests) {
                self.activeInterests = [];
                var interests = newInterests.split('|');

                console.log("New interests");
                console.log(newInterests);

                for (i = 0; i < interests.length; i++) {
                    // Trim the excess whitespace.
                    interests[i] = interests[i].replace(/^\s*/, "").replace(/\s*$/, "");

                    self.activeInterests.push(interests[i]);
                }

            }

调用fetchInterests后,&#39; activeInterests&#39;包含我想要显示的ng-model,但视图仍然是空的。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

找到解决方案。您希望在ng-model中显示的内容也应始终位于ng-options中。