2016-05-25 6 views
1

firstname、lastnameなどの人物属性を表示するテーブルを作成しました。これらの人物の属性を取得するには、私の人のデータベースを反復する。表の最後の列の最後の「ボタン」でread​​スカラforループ作成テーブルのタグ値

<tbody> 
     @for(person <- persons){ 
      <tr class="odd gradeX"> 
       <form id="form1"> 
        <input type="hidden" name="username" 
        value="@person.getUserName" id="user"> 
        <td>@person.getUserName</td> 
        <td>@person.getFirstName</td> 
        <td>@person.getLastName</td> 
        <td>@person.geteMail</td>        
        <td>@person.getTelephoneNumber</td> 
        <td>@person.getBirthday</td> 
        <td>@person.getSvn</td> 
        <td>@person.getSalary</td> 
        <td><button type="submit" name="option" value="delete" 
         class="btn btn-danger" formaction="/admin 
         modifyPerson" formmethod="post">Löschen</button> 

         <button type="submit" name="option" value="reset" 
         class="btn btn-warning" formaction="/admin 
         /modifyPerson" formmethod="post">Password 
         reset</button> 

         <a href="#" onclick="changeData(@person, user)" form="form1" 
         data-toggle="modal" data-target="#changeData">Daten 
         ändern</a></td> 
       </form> 
      </tr> 
     } 

</tbody> 

テーブルの内容を読み出し、JavaScript関数「changeData()」を開始し、データを変更するためのフォームを表示し、ブートストラップモーダルに渡すべき。モーダルが開始されると、フォームはテーブルデータであらかじめ埋め込まれていなければなりません。

私の問題はforループです。テーブルからデータを取得しようとすると、ボタンを押した行に関係なく、最初のエントリから常に値が取得されます。

これで、データベース内のIDであるユーザーオブジェクトとユーザー名全体を渡そうとしています。呼び出されるjavascript関数下:

onClick = changeData(@person, user) 

<script> 
     function changeData(person, user) { 
      var allPerson = JSON.parse(person); 
      var firstName = allPersons[0].getFirstName(); 

      document.getElementById("firstname1").value = firstName; 
     } 
</script> 

私はvar fname = person.getFirstName();またはどのように私はJavaScriptで属性を取得することができますように渡された人・オブジェクトにアクセスできますか?

答えて

0

変更し、次へのonclick方法:

onclick="changeData(@person)" 

あなたのモーダルを移入するためにこれを使用し、その後row.Andに人物オブジェクトが特定取得しますこの方法です。

は、以下のことを試してみてください:スクリプトタグで :

<script> 
    var allPersons = JSON.parse(@persons); 
</script> 

これは、あなたのjs範囲内の人物を初期化する必要があります。次のようにあなたのJavaScriptで

アクセスこの: (機能(ユーザー){ここ
オーバー //アクセス者})(人)。

この方法では、スクリプト内の人物オブジェクトにアクセスできます。

特定のpersonオブジェクトを取得するためには、changedDataメソッドからオブジェクトのインデックスをスクリプトに渡し、フォームにデータを設定します。

注:私はScalaに慣れていないので、文法上の間違いなどがあれば上記の行を見てください。

+0

javascriptの方法与えるためにオプションはありませんどのように私はJavaScriptでこの人物のオブジェクトにアクセスすることができ、 するvar FNAME = person.getFirstName のような人物オブジェクトがJavaで書かれたJavaScriptない – SteveOhio

+0

おかげで...「changeDataは()」パラメータとしてのすべての属性? または​​タグにそれぞれidを付けます。これをメソッドに渡して値を取得できますか? – SteveOhio

+0

更新された回答を参照してください。 – Rambler

関連する問題