2

たとえば、次のようなことをしたいと思います。

<select ng-model="persons">
  <option value="person1">Anna Smith</option>
  <option value="person2">Karl Pettersson</option>
  <option value="person3">Ylvis Russo</option>
</select>
<p ng-view="persons"><p>

また、値ではなく、ドロップダウンで選択したときにビューに各名前を表示します。出来ますか?

モデルを見て、新しいモデルにjQueryでテキスト値を割り当ててみました。しかし、それは複雑になってしまったので、それが最善の方法である場合、私の小さな例は素晴らしいでしょう!

4

1 に答える 1

7

個人オブジェクトを定義するだけで、それを使って好きなことをすることができます。それを行うには多くの方法があります...ここに例があります:

HTML

<select ng-model="persons"
    ng-options="p as p.label for p in persons">
</select>

<p ng-repeat="p in persons">
    {{p.value}}: {{p.label}}
</p>

JS

$scope.persons = [
    { value: 'person1', label: 'Anna Smith' },
    { value: 'person2', label: 'Karl Pettersson' },
    { value: 'person3', label: 'Ylvis Russo' }
];

ここに jsfiddle があります: http://jsfiddle.net/bKHh8/

アップデート

ここでは、値に角度インデックスを使用しないオプション タグを使用しています (これはまさにあなたの質問に答えるものです): http://jsfiddle.net/bKHh8/1/

<select>
     <option ng-repeat="p in persons" value="{{p.value}}">{{p.name}}</option>
</select>
于 2014-02-02T14:39:00.467 に答える