如何在 oi-select angularjs 中保留第一个选项 selected
How to keep first option selected in oi-select angularjs
Plunker to try 我正在使用 oi-select 库来 select 多个选项,我希望数据中的第一个值应该默认 selected,尽快因为数据可用。
html代码
<oi-select multiple ng-init="selectedNewRelease=releaseList[0]"
oi-options="item.releaseId for item in releaseList" ng-model="selectedNewRelease"
placeholder="Select Releases"
oi-select-options="{dropdownFilter: 'myDropdownFilter'}" id="selectedReleases"
ng-change="onReleaseChange();toggleCol();"></oi-select>
我尝试使用 ng-init,分配如下:
$scope.selectedNewRelease=$scope.releaseList[0];
这确实有效,但一旦我 select 一个或多个选项,它就会删除默认的 selected 选项。请有任何想法link。 link 对于 oi-select
试试这个
ng-init="selectedNewRelease=releaseList[0]"
而不是 ng-init="releaseList[0]"
编辑:
或删除 oi-select 上的 ng-init="selectedNewRelease=releaseList[0]"
并在加载 releaseList
数据后在控制器中分配值
喜欢
function controller($scope)
{
Loaddropdown()
{
$http().success(function(data){
$scope.releaseList = data;
$scope.selectedNewRelease =$scope.releaseList[0]//or $scope.selectedNewRelease=$scope.releaseList[0].Id// which id means what's your value
})
}
}
当使用对象而非数组为 oi-select
(多个)设置默认值时,选择新项目将导致覆盖原始值。
所以你应该用 Array
初始化它。像这样:
ng-init="selectedNewRelease=[releaseList[0]]
参考这个 plunker.
更新:
oi-select
用ngModel
实现了two-way-databinding
,由于数组instance
不改变,angular不会触发改变(意味着 ng-change 不会在没有实例更改的情况下触发。
所以推送新项目后,你应该做这样的事情:
$scope.selectedNewRelease = $scope.selectedNewRelease.slice(); // create new instance for the array.
Plunker to try 我正在使用 oi-select 库来 select 多个选项,我希望数据中的第一个值应该默认 selected,尽快因为数据可用。 html代码
<oi-select multiple ng-init="selectedNewRelease=releaseList[0]"
oi-options="item.releaseId for item in releaseList" ng-model="selectedNewRelease"
placeholder="Select Releases"
oi-select-options="{dropdownFilter: 'myDropdownFilter'}" id="selectedReleases"
ng-change="onReleaseChange();toggleCol();"></oi-select>
我尝试使用 ng-init,分配如下:
$scope.selectedNewRelease=$scope.releaseList[0];
这确实有效,但一旦我 select 一个或多个选项,它就会删除默认的 selected 选项。请有任何想法link。 link 对于 oi-select
试试这个
ng-init="selectedNewRelease=releaseList[0]"
而不是 ng-init="releaseList[0]"
编辑:
或删除 oi-select 上的 ng-init="selectedNewRelease=releaseList[0]"
并在加载 releaseList
数据后在控制器中分配值
喜欢
function controller($scope)
{
Loaddropdown()
{
$http().success(function(data){
$scope.releaseList = data;
$scope.selectedNewRelease =$scope.releaseList[0]//or $scope.selectedNewRelease=$scope.releaseList[0].Id// which id means what's your value
})
}
}
当使用对象而非数组为 oi-select
(多个)设置默认值时,选择新项目将导致覆盖原始值。
所以你应该用 Array
初始化它。像这样:
ng-init="selectedNewRelease=[releaseList[0]]
参考这个 plunker.
更新:
oi-select
用ngModel
实现了two-way-databinding
,由于数组instance
不改变,angular不会触发改变(意味着 ng-change 不会在没有实例更改的情况下触发。
所以推送新项目后,你应该做这样的事情:
$scope.selectedNewRelease = $scope.selectedNewRelease.slice(); // create new instance for the array.