引导模式不更新模式内容

Posted

技术标签:

【中文标题】引导模式不更新模式内容【英文标题】:Bootstrap modal not updating modal content 【发布时间】:2019-08-18 03:45:14 【问题描述】:

我正在尝试创建一个模型表,旁边有一个按钮,该按钮打开一个模式并在表单视图中具有相同的模型行。该表已正确填充,但正在创建的 n 个 bootstrap modals 仅包含第一个可迭代模型值。是因为引导程序在页面渲染时只加载一次模态的内容吗?我该怎么做才能解决问题?我应该运行一个函数来根据它拥有的模型数据更新模态内容吗??

请随时询问更多说明。

% extends 'base.html' %

% load static %

% block content %
    <table>
        % for item in data %

            <tr>
                <th>From</th>
                <th>To</th>
                <th>Weight</th>
                <th>Length</th>
                <th>Type</th>
                <th>Material Type</th>
                <th>Number of Trucks</th>
                <th>Loading Time</th>
            </tr>
            <tr>
                <td> item.From </td>
                <td> item.To </td>
                <td> item.Weight </td>
                <td> item.Length </td>
                <td> item.Type </td>
                <td> item.MaterialType </td>
                <td> item.Numberoftrucks </td>
                <td> item.Loadingtime </td>
                <td>
                    <button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Bid
                        now! for id  item.id  </button>
                </td>
                #        % endfor %#


                <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                                        aria-hidden="true">&times;</span></button>
                                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
                            </div>
                            <div class="modal-body">

                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.To " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.From " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.Weight " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.Length " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.Type " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.MaterialType " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.Numberoftrucks " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here..." value=" item.Loadingtime " disabled>
                                <input class="form-control" id="disabledInput" type="text"
                                       placeholder="Disabled input here...">Bid
                            </div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                <button type="button" class="btn btn-primary">Save changes</button>
                            </div>

                        </div>
                    </div>
                </div>

            </tr>
        % endfor %
    </table>

% endblock %

【问题讨论】:

【参考方案1】:

您可以通过将model.pk 添加到模态id 来修复它

在按钮中

<button type="button" class="btn btn-primary btn-lg" data-toggle="modal"
     data-target="#myModal item.id ">
    Bid now! for id  item.id 
</button>

并且在

 <div class="modal fade"
      id="myModal item.id "
      tabindex="-1" role="dialog" aria-labelledby="myModalLabel">

其他解决方案是创建 js 函数以在每次激活模式时加载新数据。

【讨论】:

谢谢!这工作得很好!我还有一个疑问,我想基于另一个模型在该模式中呈现一个表单,那么我该如何去做呢?还是我应该发布另一个问题? 我认为您应该尝试自己寻找解决方案。如果您遇到任何问题,请发布另一个问题。 @BearBrown 模式的激活将在填充 Id 时完成,对吗?我按照你提到的 Html 文件做了,在 js 中我创建了一个函数,它将数据填充到模态内容及其 id 中。数据被填充,但模式没有打开。 浏览器控制台有错误吗?如果您真的需要帮助,我认为最好创建一个包含更多代码细节的问题。 @BearBrown - 控制台中没有错误。我的问题和这个问题完全一样。如果我创建新的,那么人们会将其标记为该问题的重复...

以上是关于引导模式不更新模式内容的主要内容,如果未能解决你的问题,请参考以下文章

在引导模式 ONCLICK 事件中显示动态内容

远程内容更改引导模式窗口大小

如何使用 link_to 添加引导模式,以便链接内容以模式打开?

打开引导模式后无法单击任何内容

以模式重新加载内容(推特引导程序)

iOS 12中的引导模式Iframe隐藏在内容后面