2013-07-16 12 views
9

AngularJS + UI Bootstrap Typeaheadを使用して、オブジェクトの名前属性を入力フィールドに入力しようとしていますが、このオブジェクトのid属性をフォーム送信されます。AngularJS + UI Bootstrap Typeahead:オブジェクトから入力フィールドへのプリロード値

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

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

フィドルはここにある:http://jsfiddle.net/honzzz/T3YFR/3/

私は、name属性の値をプリロードし、まだ所望の機能性を保つにはどうすればよいですか?

+0

ウルフィドルは、私はそれが新しいで働いていないことがわかり – iJade

+0

かかわらず機能していないクロムのビルド - 厳格なMIMEタイプのチェックが有効になっているため、それはgithubのから外部スクリプトをロードしていません。もしあなたがそれを試してみたいのなら、Firefoxを使ってください。 – honzzz

+0

更新されたコードは私の答えを見てください – iJade

答えて

15

product objectng-modelとして使用できます。そして、idform.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> 
関連する問題