私はTypeaheadを使用してjsonファイルから情報を取得しています。それは問題なく動作するようになりました。 しかし、最初のオブジェクトを選択したときに、他のいくつかの入力フィールドを「オートコンプリート」したいと思います。角度UIブートストラップ先読み、複数出力?
はのは、最初のフィールドは次のようになりましょう:
<input type="text" class="form-control" id="supertag" ng-model="selected" uib-typeahead="title.title for title in tags | filter:$viewValue | limitTo:8"/>
それは素晴らしい、その入力フィールドにtitle.titleを表示します! 私はいくつかの点でこのジレンマにアプローチしようとしましたが、最初のものが選択されて準備が整ったら残りの入力フィールドには表示されません。私は次のものにtitle.subtitleのようなものを持っていたいが、それはまっすぐであるようには見えない。
私には何が欠けていますか? これは、例えば動作しません:
<input type="text" class="form-control" id="rubrik" value="{{title.subtitle}}"/>
感謝を!
編集:
{
title: 'title',
subtitle: 'subtitle',
id: 'id'
},
{
title: 'title',
subtitle: 'subtitle',
id: 'id'
},
編集:別のJSONファイル間の比較のために さらにコード JSONは次のようになります。
だから、これはにどのような入力フィールドポイントである:
$http.get(tagUrl)
.then(function(res) {
$scope.tags = res.data;
})
とにonSelect:私は入力IDの比較を行うための機能が欲しいのはここ
$scope.onSelect = function($item, $model, $label) {
$scope.id = $item.id;
$scope.title = $item.title;
$scope.selected = $item.selected;
$scope.subtitle = $item.subtitle; <- undefined because it only exists in JSON2, not in JSON1.
console.log($scope.id);
};
です。 JSON1(tagUrl)には常に存在しますが、さらに進める前にJSON2(superUrl)に存在するかどうかを調べる必要があります(存在する場合は$ scope.subtitle = $ item.subtitleを対応する入力フィールドに設定します) 。 if文を使ってさまざまなアプローチを試しましたが、最善の方法では定義されません。
私はこれをng-repeatのために持っています。これはページ上のすべてのsuperUrlをリストしています。
$http.get(listSuperUrl)
.then(function(res) {
$scope.current = res.data;
})
superUrlが存在するかどうかを確認するには、真実を使用する必要があります。基本的にはif(superUrl)のようなことができます。 – Leibniz