从scala for-loop创建的表中读取-tag值

时间:2016-05-25 11:04:41

标签: javascript java html scala playframework

我创建了一个显示人名属性的表,如firstname,lastname等。为了获得不同人的属性,我使用了scala for-loop来遍历我的人员数据库。

<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>

在表格的最后一列中,最后一个&#34;按钮&#34;应该启动一个javascript函数&#34; changeData()&#34;,它读取表内容并将其传递给bootstrap模式,该模式显示一个表单来更改数据。当模态开始时,表格应预填充表格数据。

我的问题是for循环。当我尝试从表中获取数据时,无论在哪一行按下按钮,我总是从第一个条目中获取值。

现在我正在尝试传递整个person-object和用户名,即数据库中的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中获取属性?

1 个答案:

答案 0 :(得分:0)

将onclick方法更改为以下内容:

onclick="changeData(@person)"

通过这种方式,您将获得特定于该行的person对象。然后使用它来填充您的模态。

尝试以下方法: 在脚本标记中:

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

这应该初始化你的js范围内的人。

以下列方式在您的javascript中访问此内容:     (function(user){         //访问此处的人员     })(人);

通过这种方式,您可以访问脚本中的person对象。

至于获取特定的人物对象,从您更改的方法将对象的索引传递给您的脚本,并相应地填充您的表单。

注意:我不熟悉Scala,因此如果有任何语法错误或任何此类错误请查看以上几行。