Jquery加载函数仅在第一次运行时加载数据,而不是在后续调用时加载

时间:2015-04-15 10:54:09

标签: javascript jquery ajax asp.net-mvc bootstrap-modal

我正在使用jquery的.load函数在html页面上单击按钮时将局部视图显示为模态。非常奇怪的是,当我在局部视图中更改某些内容并第一次单击该按钮时,将检索部分视图数据并在UI上正确显示它。但是当我稍后点击按钮时,会发出一个请求获取局部视图的请求,也会返回数据但是模态永远不会出现,直到我再次在局部视图中更改某些内容。为什么会这样呢?我尝试按照建议的here禁用ajax的缓存,但它仍然没有用。以下是我的代码。

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">Launch demo modal</button>

<div class="modal" id="myModal">

</div>
<script>
$('#myModal').on('show.bs.modal', function(e) {
  $('#myModal').load('myFile.cshtml'); //When loading from a file/url

})

</script>

我的部分视图标记:

<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="mymodallabel">modal title</h4>

        </div>
        <div class="modal-body">
            <p>Second from partial with clear cache</p>

        </div>

        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">close</button>
        </div>

    </div>

</div>

编辑: 这个被标记为重复的问题是指动态加载元素的事件,而我的问题是关于静态元素,将在其上引入新(动态)元素的事件

0 个答案:

没有答案