将 ng-model 名称绑定到所选

Bind ng-model name to chosen

我不明白为什么我无法在 choosen 指令中将对象绑定到 ng-model

这是我的 HTMl 内容代码:

 <select class="form-control" required
                        multiple
                        ng-model="selectedItems"
                        ng-options="r.id as r.name for r in availableItems"
                        chosen>
                </select>

JSON:

$scope.selectedItems= [
        {
            "id": 1,
            "name": "Selected 1",
            "description": "Nulla adi architecto et",

        },
        {
            "id": 2,
            "name": "Selected 2",
            "description": "test",

        }
    ]

$scope.availableItems= [
        {
            "id": 1,
            "name": "Available 1",
            "description": "Nulla adi architecto et",

        },
        {
            "id": 2,
            "name": "Available 2",
            "description": "test",

        }
    ]

不过,我可以在 select 下拉列表中显示可用项目,但我的要求是: 要在选择的输入框中默认显示 selected 项。

参考:Localytics-Angular Choosen

Angular 将通过将项目与 ng-model 的值进行比较来自动 select 项目。在您的例子中,selected 项是 r.id,这是一个原始值,因此相等性将基于比较 r.ids:

$scope.selectedItems = [1, 2];

Plunker