0

次の構造を持つオブジェクト ユーザーにバインドされたドロップダウンがあります。

{
  userId:1,
  userLogin:"test",
  locale: { localeCode:"en-US" }
}

この構造は、User と Locale が関連付けとしてリンクされた 2 つのクラスである C# モデル クラスから直接取得されます (User には 1 つの Locale があります)。

したがって、特別な方法でオブジェクトをシリアル化する、または「UI」属性に $watch を追加するなどのカスタム ロジックを実行せずに、次のドロップダウンを定義して、バックグラウンドで locale.localeCode を更新できるようにします。

<select id="dropLocale" required="required" addempty="true" 
        ng-model="user.locale.localeCode" 
        ng-options="i.localeCode as i.localeCode for i in localeList"></select>

どんな助けでも大歓迎です!ありがとう

4

1 に答える 1

0

データ構造がこのようなものであると仮定します

$scope.localeList = [{
    userId: 1,
    userLogin: "test",
    locale: {
        localeCode: "en-US"
    }
}, {
    userId: 2,
    userLogin: "test2",
    locale: {
        localeCode: "de"
    }
}];

私はあなたがレベルを逃したと思うlocale、これを試してみてください

ng-options="i.locale.localeCode as i.locale.localeCode for i in localeList"
于 2013-09-27T05:21:41.267 に答える