javascript - 在 Bootstrap 模式中显示 ajax 调用结果

标签 javascript jquery ajax twitter-bootstrap bootstrap-modal

我需要在 Bootstrap 模式中显示多个数据。为此,我所做的是:

js文件:

$('#seeProfile').on('show', function() {

  $('.see-user').on('click', function(e) {
  e.preventDefault();

  var id = $(this).data('id');

  $.ajax({
     url:  'getUser',
     type: 'POST',
     data: {id: id},
     success: function(html){
       $('#seeProfile .modal-body .p').html('test');
     },
     error: function(){
       alert("error");
     }  
  });  
});
});      

查看片段(模态):

<div id="seeProfile" class="modal hide fade" tabindex="-1" data-replace="true">
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
    <h3>Perfil de Usuario</h3>
</div>

<div class="modal-body">
    <p></p>
</div>
<div class="modal-footer">
    <button type="button" data-dismiss="modal" class="btn">Close</button>
</div>

这是行不通的。模态没有出现,但是在检查时没有出现错误。我做错了什么?

编辑

鉴于我意识到我漏掉了一个点的答案,所以成功函数应该是这样的:

$('#seeProfile .modal-body p').html("test");

现在该模态正在运行,我需要知道如何将数据“插入”到这个新的模态组织中:

<div id="seeProfile" class="modal hide fade" tabindex="-1" data-replace="true">
<div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
    <h3>Perfil de Usuario</h3>
</div>
<div class="modal-body">
    <div class="scroller" style="height:300px" data-always-visible="1" data-rail-visible="1">
        <div class="row-fluid">
            <div class="span6">
                <h5>Usuario</h5>
                <p><input type="text" class="span12 m-wrap" id="username" readonly></p>
                <h5>Nombre</h5>
                <p><input type="text" id="name" class="span12 m-wrap" value="" readonly></p>
            </div>
            <div class="span6">
                <h5>Email</h5>
                <p><input type="text" class="span12 m-wrap" readonly></p>
            </div>
        </div>
    </div>
</div>
<div class="modal-footer">
    <button type="button" data-dismiss="modal" class="btn">Close</button>
</div>

如你所见,modal-body 中有许多“

”标签。我试过向它插入一个 id,这样它就可以与众不同,但它对我不起作用。我该怎么做?

最佳答案

当显示模态时,您将绑定(bind)点击事件,而您从不显示模态,因此点击处理程序永远不会被绑定(bind)。

你可以这样做:

$('.see-user').on('click', function(e) {
    e.preventDefault();
    var id = $(this).data('id');
    $.ajax({
        url:  'getUser',
        type: 'POST',
        data: {id: id},
        success: function(html){
            $('#seeProfile .modal-body p').html('test');
            $('#seeProfile').modal('show');
        },
        error: function(){
            alert("error");
        }  
    });  
});

如果您确实想在模式显示时添加点击处理程序,则需要使用适当的处理程序。 You can find them here (在事件下方)。

关于javascript - 在 Bootstrap 模式中显示 ajax 调用结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24289575/

相关文章:

javascript - Angular DI (injector.get(FooService))

javascript - Jquery ajax 请求完成但 Axios 失败

javascript - jQuery:循环注释 div 并获取字段值

c# - 使用 Ajax AutoCompleteExtender 请求 Web 服务时出现 500 错误

jquery - 如何以最短的方式做到这一点?

javascript - Angular http 无法正常工作

javascript - 无法读取小写 react js

Javascript 可视化库 - 随时间变化的值

javascript - Jquery 的 eq(0), "..first-child", first() 如果它是一个 iframe 则不捕获第一个 child

jquery - 在 Django 中使用 AJAX/jQuery 删除对象