2016-12-06 10 views
0

私は、入力フィールドを動的に表示するフォームを持っています。つまり、特定の顧客には異なる入力フィールドが表示されます。シーケンスとどの入力フィールドが表示されているかはデータベースによって決まります。各入力フィールドについて、私は先読みしたいと思います。完全な形は、以下のオブジェクトで表され:複雑なオブジェクトのリストのブートストラップ先読み

{ 
    attributes:Array[9] 
    s_Id:1376 
    name:"test_name" 
    c_Id:512 
    active:true 
    created:"2016-11-28T09:47:35.000+0000" 
    updated:"2016-12-05T14:52:17.649+0000" 
    valid:Moment 
} 

入力ファイルについてのすべての情報を以下に示すオブジェクトのリストである配列属性に格納されます。このオブジェクトには、この特定のフィールドに挿入された以前の値をすべて表示する配列attvalueがあります。これは実際には特定の入力フィールドの先読みです。

{ 
    attributeId:138 
    attributevalueId:618 
    c_Id:512 
    s_Id:1376 
    attvalue:Array[4] 
     0:"Typeahead value 1" 
     1:"Typeahead value 2" 
     2:"Typeahead value 3" 
     3:"Typeahead value 4" 
    language:"en" 
    updatedAt:"2016-12-05T14:52:17.649+0000" 
    created:"2016-11-28T09:47:35.000+0000" 
} 

ビューでは、フォームを表示するために属性配列をループします。先行入力を示すために私は、入力HTML要素を持っている:

object.attributes:Array[10].attvalue=["Typeahead value 1", "Typeahead value 2", "Typeahead value 3", "Typeahead value 4"] 

方法:

typeahead="attvalue as object.attvalue for object in object attributes| limitTo:100" ng-maxlength="45" autocomplete="off" 

これは、特定のタイプアヘッドのためにそれは(JSの形で書かれた)のように示されるべき適切な値を、表示されません。この問題を解決するには?より良い解決策は、それを見て解決し、その後、完全なコントローラをchaningすることです。

+0

私はここSOF上の例のカップルを見てきましたが、これらは少し簡単です。 – wanttobeprofessional

答えて

0

この問題を解決する方法を見つけました。まず、非常に複雑なリストやオブジェクトなどを作成することは可能ですが、私は単純な例をたくさん見てきたので、まだブートストラップの前書きを使用しています。私は配列のattvaluesをattributevalueListのリストに追加しました。また、attvalueはng-modelディレクティブの最終値として使用されています。リスト内の新しいオブジェクトはこのように見えた:

object.attributes:Array[1].attvalues: 

{ 
    attributeId:138 
    attributevalueId:618 
    c_Id:512 
    s_Id:1376 
    attvalue:"" 
    attvalues:Array[4] 
     0:"Typeahead value 1" 
     1:"Typeahead value 2" 
     2:"Typeahead value 3" 
     3:"Typeahead value 4" 
    language:"en" 
    updatedAt:"2016-12-05T14:52:17.649+0000" 
    created:"2016-11-28T09:47:35.000+0000" 
} 

私は次のようにビューにtypeahed修正した:

typeahead="attvalues for attvalues in object.attributevalueList[$index].attvalues | limitTo:100" ng-maxlength="45" autocomplete="off"> 
関連する問題