javascript - 以模式重新加载内容(twitter bootstrap)

标签 javascript twitter-bootstrap

我正在使用 Twitter Bootstrap 的模式弹出窗口。

<div id="myModal" class="modal hide fade in">
    <div class="modal-header">
        <a class="close" data-dismiss="modal">×</a>
        <h3>Header</h3>
    </div>
    <div class="modal-body"></div>
    <div class="modal-footer">
        <input type="submit" class="btn btn-success" value="Save"/>
    </div>
</div>

我可以使用带有此 a 元素的 ajax 加载内容:

<a data-toggle="modal" data-target="#myModal" href="edit.aspx">Open modal</a>

现在我必须打开相同的模式但使用不同的 url。我正在使用此模式从我的数据库中编辑一个实体。因此,当我在实体上单击编辑时,我需要加载带有 ID 的模态。

<a data-toggle="modal" data-target="#myModal" href="edit.aspx?id=1">Open modal</a>
<a data-toggle="modal" data-target="#myModal" href="edit.aspx?id=2">Open modal</a>
<a data-toggle="modal" data-target="#myModal" href="edit.aspx?id=3">Open modal</a>

如果我点击链接 1,它工作正常。但是,如果我随后单击链接 2,模态内容已经加载,因此它将显示链接 1 中的内容。

如何刷新或重置 Twitter Bootstrap 模式弹出窗口中的 ajax 加载内容?

最佳答案

我想这样做的方法是删除 data-toggle 属性并为链接设置一个自定义处理程序。

内容如下:

$("a[data-target=#myModal]").click(function(ev) {
    ev.preventDefault();
    var target = $(this).attr("href");
    
    // load the url and show modal on success
    $("#myModal .modal-body").load(target, function() { 
         $("#myModal").modal("show"); 
    });
});

关于javascript - 以模式重新加载内容(twitter bootstrap),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449890/

相关文章:

javascript - 外部 javascript 函数和 html 按钮

javascript - 禁用openerp中的登录按钮

javascript - 无法显示对象内容 - AngularJS

javascript - Bootstrap 工具提示不显示

html - 移动设备上的固定导航栏

javascript - typescript 数组声明是否需要展开/休息运算符?

javascript - 从网站调用 Windows 10 桌面通知?

javascript - 如何在 javascript 中创建非 ajax post 请求?

javascript - Bootstrap进度条动画不起作用

受 BootStrap CSS 影响的 jQuery 拖放插件