如何将动态生成的表数据加载到模式内的表单中?

时间:2018-11-15 07:46:03

标签: javascript bootstrap-4 thymeleaf

我有一个动态生成的表。桌子看起来像:-

    <table id="datatables" class="table table-striped table-no-bordered table-hover" 
    cellspacing="0" width="100%" style="width:100%">
    <thead>
    <tr>
        <th>S.N</th>
        <th>Branch Name</th>
        <th>Branch Location</th>
        <th>Status</th>
        <th class="disabled-sorting text-right">Actions</th>
    </tr>
    </thead>
    <tfoot>
    <tr>
        <th>S.N</th>
        <th>Branch Name</th>
        <th>Branch Location</th>
        <th>Status</th>
        <th class="disabled-sorting text-right">Actions</th>
    </tr>
    </tfoot>
    <tbody>
    <tr th:Each="b,iter : ${branches}">
        <td th:text="${iter.index}+1"></td>
        <td th:text="${b.branchName}"></td>
        <td th:text="${b.branchLocation}"></td>
        <td th:text="${b.status}"></td>
        <td style="text-align: right;">
            <button  class="btn btn-warning" data-toggle="modal" data-target="#branchModal">Edit</button>
            <button class="btn btn-warning">Deactivate</button>
        </td>
    </tr>
    </tbody>
</table>

,我有引导程序模式。现在,当我单击表的“编辑”按钮时,我想以模态形式加载被单击的表行数据。

<div class="modal fade" id="branchModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">New message</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body">
                        <form>
                            <div class="form-group">
                                <label for="branch-name" class="col-form-label">Branch Name:</label>
                                <input type="text" class="form-control" id="recipient-name">
                            </div>
                            <div class="form-group">
                                <label for="branch-location" class="col-form-label">Branch Location:</label>
                                <textarea class="form-control" id="branch-location"></textarea>
                            </div>
                        </form>
                    </div>
                    <div class="modal-footer">
                        <button style="margin-right:10px;" type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                        <button type="button" class="btn btn-primary">Update</button>
                    </div>
                </div>
            </div>
        </div>

我该如何实现?

注意:-我没有使用jquery,因此使用纯JavaScript的解决方案将不胜感激。

2 个答案:

答案 0 :(得分:1)

您好,只需在click事件上运行以下代码,即可为要更改的每个值打开模态:

document.getElementById('recipient-name').value = 'Value you wish to set'

您还可以通过传递事件变量来访问所单击元素的值,如下所示:

document.getElementById('clicked').addEventListener('click', event => {
  document.getElementById('recipient-name').value = event.target.value
})

这是基本概念,您可以从那里进一步了解...

希望这会有所帮助

答案 1 :(得分:1)

如果您有函数loadDataOnModal处理显示模态,请将其添加到您的编辑按钮中:

th:onclick="| loadDataOnModal('${b.branchName}', '${b.branchLocation}')|"

我看到您只需要模态主体中的分支名称和位置。