2017-01-12 21 views
1

私の仕事は、ユーザーが必要に応じて設定したい各状態のすべての要素に、必要なフィールドを動的に追加することでした。私のデータベースでは、入力のID(各入力にはもちろんの異なるIDを持つ)と、入力要素(ブール値)に必要なフィールドを追加する必要がある場合に必要なフィールドを含むテーブルがあります。私は状態を切り替えるたびに、必要な入力要素があればその特定の状態にすべての入力要素を設定する必要があります。必須要素を入力要素に動的に追加する方法はありますか?

私はこれを攻撃することができますか? これは私のsoltionですが、idはこれが最善の方法だとは思わない、私はangularjsで働いています。

for (var i = 0; i < data.length; i++) {  
    // activate required function 
    v = data[i].Required; 
    if (v) { 
     document.getElementById(data[i].ID).required = true; 
    } 
} 
+0

何についてjquery、elem.attr( '必須') –

+1

jqueryを控えめに使用してください。ほとんどの場合、フレームワークにはすでに問題を処理する指示があることがわかります。 ngRequiredを見てください – jbrown

+0

Google Chromeで開発ツールを開くと、必要なフィールドが追加されているのがわかりますが、htmlにエラーを追加したい場合は: "このフィールドは必須です" 。私は手作業でhtml要素に必要なものを書いていれば、その汚れているかどうかを確認してエラーを追加することができますが、動的に追加すると何かできますか? @ myke_11j @jbrown –

答えて

2

あなたは角度でも、データを表示する場合は、リピータではたとえば、あなたがこのような何か行うことができます。

<div ng-repeat="field in data"> 
    <input type="text" id="{{ field.ID }}" 
      ng-required="field.Required" /> 
</div> 

ng-requiredディレクティブは、動的値に基づいて、required="required"属性を設定しますfieldアイテムのRequiredプロパティの

+0

このソリューションは、私が状態を変更するたびに責任を負う機能を持っているので、私の仕事はできません。shは入力に必要なフィールドを置きます。 '私の特定のコントローラのデータを持っていて、そのデータを渡したくないのですが) –

+0

あなたの質問にユースケースを含める必要があります。具体的にできることと達成したいこと – devqon

-1

この方法でも試すことができます。

<form name="course"> 
<div ng-repeat="field in data"> 
    <input type="text" name="{{field.name}}" 
      ng-required="field.Required" /> 
</div> 
</form> 
関連する問題