这是我在html页面的head标签中加载facebox插件的内容:
<!-- This is for the facebox plugin to work -->
<link href="<?php echo base_url();?>styles/facebox/src/facebox.css" media="screen" rel="stylesheet" type="text/css" />
<script src="<?php echo base_url();?>styles/facebox/lib/jquery.js" type="text/javascript"> </script>
<script src="<?php echo base_url();?>styles/facebox/src/facebox.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox({
loadingImage : "<?php echo base_url();?>styles/facebox/src/loading.gif",
closeImage : "<?php echo base_url();?>styles/facebox/src/closelabel.png"
})
})
</script>
这是我div的代码
<?php if(isset($$j)) : foreach($$j as $row) : ?>
<div class="single-result" id="single-result">
<div class="name"><?php echo $row->Name; ?></div>
<div class="description"><?php echo $row->Description; ?></div>
</div>
<?php endforeach; ?>
<?php else : ?>
error here
<?php endif; ?>
我想要的是一些ajax代码,当用户点击div id =“single-result”时调用一个函数,以便它对从数据库中获取数据的php控制器进行ajax调用,然后将视图加载到facebox模式窗口。
我不确定的部分是如何将其加载到facebox模式窗口中,我知道如何使用ajax调用使数据发送到文件,然后将视图加载到页面上的某个div中,l只是希望它将它加载到模态窗口而不是页面上的某个div。
这有可能吗? (我也在为php框架使用codeigniter)
这是我的ajax代码,当用户点击div时,它会将ajax请求结果加载到content-right div中。
<script type="text/javascript">
$("#single-result").click(function() {
var form_data = {
ajax: '1',
itemcode: "<?php echo $row->id; ?>"
};
$.ajax({
url: "<?php echo site_url('ajax/item_info_right'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
$('#content-right').html(msg);
}
});
return false;
});
</script>
<!-- END -->
如何修改上面的代码,使其进入facebox模式窗口?我知道facebox在下面提供了这个代码,但我不知道该如何处理它?</ p>
jQuery.facebox(function() {
jQuery.get('code.js', function(data) {
jQuery.facebox('<textarea>' + data + '</textarea>')
})
})
答案 0 :(得分:0)
你所追求的并不是很清楚......
如果你想要的是将ajax POST返回的数据填充到facebox中,只需在ajax post的成功回调中调用facebox:
$("#single-result").click(function() {
var form_data = {
ajax: '1',
itemcode: "<?php echo $row->id; ?>"
};
$.ajax({
url: "<?php echo site_url('ajax/item_info_right'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
jQuery.facebox(msg);
})
});
或者,看起来如果你想在处理帖子时加载facebox加载图形,你可以将ajax POST包装在facebox函数中:
$("#single-result").click(function() {
jQuery.facebox(function() {
var form_data = {
ajax: '1',
itemcode: "<?php echo $row->id; ?>"
};
$.ajax({
url: "<?php echo site_url('ajax/item_info_right'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
jQuery.facebox(msg);
})
});
})
})