2017-04-19 15 views
0

Plunker to try複数のオプションを選択するにはoi-selectライブラリを使用しています。データの最初の値をデータが利用可能になるとすぐに選択する必要があります。 HTMLコードoi-select angularjsで最初のオプションを選択する方法

<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]; 

これは実際に動作しますが、すぐに私は1つのまたは複数のオプションを選択すると、それはデフォルトの選択オプションを削除します。任意のアイデアをリンクしてください。 oi-select

答えて

2

Objectでない配列でoi-select(複数)のデフォルト値を設定する場合、新しい項目を選択すると元の値が上書きされます。 ですから、このよう.somethingをArrayでそれを初期化する必要があります

ng-init="selectedNewRelease=[releaseList[0]] 

このplunkerを参照してください。


UPDATE:

oi-selecttwo-way-databindingを達成するためにngModelを使用し、アレイのinstanceが変更されていない場合、角度ので(変化を誘発しないであろうNG-変化がインスタンスなしで発射しないことを意味しかわった)。

だから、後に、あなたはこのような何かを行う必要があり、新しいアイテムをプッシュ:

$scope.selectedNewRelease = $scope.selectedNewRelease.slice(); // create new instance for the array. 
+0

はい最初のレコードを$ scope.selectedNewReleases.push(releaseList [0])にプッシュしようとしましたが、選択されていません。 – Sudarshan

+0

@Sudarshanいつ最初のアイテムをプッシュしましたか?非同期コールバックでは、おそらく '$ scope。$ apply'を呼び出すことを検討すべきです。 – Pengyy

+0

http://plnkr.co/edit/mwNkSCBCrz3zXXbdJK8o?p=previewこれは私のリアルタイムフィドルです。私はscope.applyも試してみました – Sudarshan

0

のためのリンクは、この

ng-init="selectedNewRelease=releaseList[0]"代わりのng-init="releaseList[0]"

編集してみてください:

するか、OI-選択に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 
}) 
} 
} 
+0

うん、私は正しい道を編集するのを忘れて間違いはなく、運によって申し訳ありませんが、OI-選択文句を言わないサポートngのように思えることを試してみました-init only – Sudarshan

+0

私の回答を更新しました –

+0

私もこれを試しました、私の質問で言及してください、それは動作しますが、私は他のオプションを選択すると、私はいくつかのオプションが選択されているかどうかを調べるために、selectedNewReleasesが必要なので、私の質問を読んでください。私が割り当てていれば、各呼び出しでその長さは常に0になります。 – Sudarshan

関連する問題