9

AngularJS + UI Bootstrap Typeahead を使用して入力フィールドにオブジェクトの name 属性を入力しようとしていますが、フォームの送信時にこのオブジェクトの id 属性を使用する必要があります。

問題は、以前に保存した値で入力をプリロードしようとすると、name 属性の値ではなく、id 属性の値が入力内に表示されることです。

<input type="text" ng-model="form.product_id" typeahead="option.id as option.name for option in p.options | filter:$viewValue" />

jsフィドル

name 属性の値をプリロードしながら、必要な機能を維持するにはどうすればよいですか?

4

1 に答える 1

17

product objectとして使用できますng-model。そして、あなたは単にid使用を得ることができますform.product.id.

Demo on jsFiddle

<div ng-controller="MyTabCtrl"> <pre>Model: {{form.product.id | json}}</pre>
    <p>The goal is to show "Horay!" while the model is set to 1.</p>
        <input type="text" autocomplete="off" ng-model="form.product" typeahead="option as option.name for option in p.options | filter:$viewValue" />
    <p>Try to write "Audi".</p>
</div>
于 2013-07-29T22:18:59.110 に答える