我有一个“默认模板”,我在body上加载了一些视图(带有codeigniter)
在其中一个视图中,我有一个像这样的td表:
<td data-target="#VRModal" data-id="2" data-toggle="modal"><a href="#">Details</a></td>
在这个视图的底部我有一个bootstrap模态
<div id="VRModal" class="modal fade" role="dialog" aria-labelledby="orderModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×<span class="sr-only">Close</button>
<h4 class="modal-title" id="myModalLabel">Details</h4>
</div>
<div id="orderDetails" class="modal-body"></div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
</div>
</div>
的javascript:
$('#VRModal').modal({
keyboard: true,
backdrop: "static",
show:false
}).on('show.bs.modal', function(){
var id = $(event.target).closest('td').data('data-id');
var url = '<?= site_url() ?>/' + '<?= $this->uri->uri_string() ?>/'+id;
$.ajax({ url: url,
dataType: 'html',
success: function(html)
{
$('#orderDetails').html(html)
}
});
});
});
除了'var id'
之外,它全部正常工作在控制台上出现此错误:
ReferenceError: event is not defined
我对jquery不太了解,只是在互联网上获取此代码。
答案 0 :(得分:2)
使用此:
var id = $(event.target).closest('td').attr('data-id');
的更新强>
看来你的代码也有一些语法错误。
试试这个完整代码:
$('#VRModal').modal({
keyboard: true,
backdrop: "static",
show:false
});
$('#VRModal').on('show.bs.modal', function(e){
var id = $(e.relatedTarget).closest('td').attr('data-id');
alert(id);
var url = '<?= site_url() ?>/' + '<?= $this->uri->uri_string() ?>/'+id;
$.ajax({
url: url,
dataType: 'html',
success: function(html)
{
$('#orderDetails').html(html)
}
});
});
<强> Check JSFiddle 强>
答案 1 :(得分:2)
$('#VRModal').on('show.bs.modal', function(event){
var id = $(event.relatedTarget).attr('data-id');
// other code
})