我需要在Bootstrap模式中显示多个数据。为此,我所做的就是:
js file:
$('#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");
}
});
});
});
view snippet(modal):
<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>
你可以看到有很多“&lt; p&gt;”模态体内的标签。我试过插入一个id,所以它可以是不同的,但它对我不起作用。我怎么能这样做?
答案 0 :(得分:5)
当你显示模态时你绑定了click事件,你从不显示模态,所以点击处理程序永远不会被绑定。
您可以这样做:
$('.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(在活动下方)。
答案 1 :(得分:1)
你应该替换
$('#seeProfile .modal-body .p').html('test');
通过
$('#seeProfile .modal-body p').html('test');
因为如果您之前插入一个点,您正在寻找一个名为'p'
的类。对于html代码<p></p>
,您只需撰写&#39; p
&#39;在选择器中。
完成&#34; $('#seeProfile').modal('show');
&#34;显示模态。
答案 2 :(得分:0)
试试这个(为我工作):
这将显示模态:
$('Your button').on('click',function(e){
e.preventDefault();
$('your modal').modal('show');
});
然后这将绑定模态show事件:
(您可以使用show.bs.modal或shown.bs.modal 唯一的区别是事件发布的时间)
$('your modal').on('show.bs.modal', function(e) {
e.preventDefault();
//ajax call here!!
});
答案 3 :(得分:0)
试试这个:
$('#seeProfile .modal-body p').html('test');
请注意,我删除了。 (点)你在p之前。
答案 4 :(得分:0)
尝试使用班级名称。
$(document).on("click", ".getAndUploadButClass", function() {
alert("Before laoding the image making ajax call to load the images ");
$('#picturemyModal').modal('show');
});