0
を複数選択して結合されていない私は、オブジェクトの配列($ scope.selectedProperties)に結合している複数選択ドロップダウンがあります。設定モデルはDDL
<select id="propertyDdl" multiple="multiple"
ng-model="selectedProperties"
ng-options="account.property_name group by account.client_name for account in accountInfo">
</select>
を(accountInfoのはの配列を含むスコープのプロパティですオブジェクト):特定のイベントに
[{client_name:"Client 1", is_demo:false, property_name:"Prop 1"},
{client_name:"Client 2", is_demo:false, property_name:"Prop 2" },
{client_name:"Client 3", is_demo:false, property_name:"Prop 3" }]
、Iは、選択されたアイテムの配列を格納:
$scope.updateSessionProperties = function() {
CachingService.cachedSelectedProperties = $scope.selectedProperties;
};
は...そして、それらを後で再適用:
if(CachingService.cachedSelectedProperties && CachingService.cachedSelectedProperties.length>0){
$scope.selectedProperties = CachingService.cachedSelectedProperties;
}
を、それがバインドされたオブジェクト(selectedProperties)の配列はaccountInfoのと同じ構造になっています。運...ドロップダウンリストを表示して
[{client_name:"Client 1", is_demo:false, property_name:"Prop 1"},
{client_name:"Client 2", is_demo:false, property_name:"Prop 2" }]
バインドされているスコープ・プロパティーが同一のオブジェクトであっても、「選択されていません」。 $ scope($ apply()も実行しようとしましたが、select要素は再バインドされません。
? –
$ scope.accountInfoは$ scopeの先頭に定義されており、[{client_name: "Client 1"、is_demo:false、property_name: "Prop 1"}、 {client_name: "Client 2、is_demo:false、property_name: "Prop 2"}、 {client_name: "Client 3"、is_demo:false、property_name: "Prop 3" ...}]興味深いことに、accountInfoの項目をselectedPropertiesバインディングは機能しますが、selectedPropertiesに同じ項目を他の方法でプッシュすると失敗します。 – DShultz