0

私は他の記事でそれについて読んだことがありますが、理解できませんでした。私は配列を持っています:

$scope.adresses = [
  { id:"5", libelle:"DARGAUD EDITEUR", adresse:"Rue Moussorgski 15/27 75018 Paris France"}, 
  { id:"6", libelle:"CPE", adresse:"Rue de l'évangile 73 75018 Paris France"}, 
  { id:"7", libelle:"SIPACK", adresse:"Z.I. Gellainville Rue Joseph Cugnot 7 28630 Chartres France"}, 
  { id:"8", libelle:"URBAN COMICS", adresse:"Rue Moussorgski 15/27 75018 PARIS France"}
];

私はこれをレンダリングしたい:

<select name="livAdresse">
  <option value="5" title="Rue Moussorgski 15/27 75018 Paris France">DARGAUD EDITEUR</option>
  <option value="6" title="Rue de l'évangile 73 75018 Paris France" selected="selected">CPE</option>
  <option value="7" title="Z.I. Gellainville Rue Joseph Cugnot 7 28630 Chartres France">SIPACK</option>
  <option value="8" title="Rue Moussorgski 15/27 75018 PARIS France">URBAN COMICS</option>
</select>

私はこれを試しました:

<select name="livAdresse" ng-model="livraison.toAdresse">
  <option ng-repeat="adr in adresses" ng-selected="adr.id==livraison.toAdresse" value="{{adr.id}}" title="{{adr.adresse}}">{{adr.libelle}}</option>
</select>

ブラウザは選択されたオプションを気にしません :-( (firefox と chrome)

4

3 に答える 3

2

このオプションを試してください:

HTML

 <select>
        <option ng-repeat="v in adresses" value="{{v.id}}" title="{{v.adresse}}"
        ng-selected="adresses.indexOf(v) == 1">{{v.libelle}}</option>
    </select>

JS

$scope.adresses = [{
        id: "5",
        libelle: "DARGAUD EDITEUR",
        adresse: "Rue Moussorgski 15/27 75018 Paris France"
    }, {
        id: "6",
        libelle: "CPE",
        adresse: "Rue de l'évangile 73 75018 Paris France"
    }, {
        id: "7",
        libelle: "SIPACK",
        adresse: "Z.I. Gellainville Rue Joseph Cugnot 7 28630 Chartres France"
    }, {
        id: "8",
        libelle: "URBAN COMICS",
        adresse: "Rue Moussorgski 15/27 75018 PARIS France"
    }];

デモFiddle

于 2013-11-13T10:38:32.950 に答える
1

selectと呼ばれる特別な繰り返しがありng-optionsます。それは、代わりに使用する必要があるものですng-repeat

<select name="livAdresse" ng-options="adr.libelle for adr in adresses" ng-model="livraison.toAdresse">
</select>

デフォルトを選択するng-modelには、コントローラーで設定できます。

$scope.liveraison.toAdresse = $scope.adresses[1];  // index 1 to select the CPE options

select および ng-options のドキュメントはこちらです。

于 2013-11-13T10:27:08.530 に答える
0

私は解決策を見つけました。この構造ですべてが可能であり、機能的であるため、彼女は非常に強力です! http://jsfiddle.net/EyBVN/48/

<div ng-app="" ng-controller="MyCtrl">
  <div ng-repeat="livraison in livraisons">
    {{livraison.libelle}} <select name="livAdresse" ng-model="livraison">
      <option ng-repeat="adr in adresses" ng-selected="adr.id==livraison.toAdresse" value="{{adr.id}}" title="{{adr.adresse}}">{{adr.libelle}}</option>
    </select> {{livraison.when}}
  </div>
</div>

助けてくれてありがとう:)

NB : jQuery ライブラリが含まれているため、このソリューションは長時間機能しません。このライブラリは、サイレントに互換性の問題を引き起こします。

于 2013-11-13T11:26:14.220 に答える