【发布时间】:2013-07-30 13:18:17
【问题描述】:
我正在努力寻找解决此问题的方法,我需要从另一个视图中加载一个视图。我知道,通常情况下,我只需要这样做:
<?php $this->load->view("smthg");?>
但这一次,文件路径被传递给数据文件标签的属性。 我有:
<a data-file="<?php echo site_url('main/loadCocktailRecipient') ?>/{{Id}}" href="#">
实际上,javascript 函数使用它来自行加载视图。所以当这样做时,它会加载控制器而不是视图文件。 (或者它甚至可能不加载任何东西) 假设我已将我的视图放入 app/views 文件夹中。如何确保此脚本在不需要控制器的情况下实际加载此文件?
如果这是不可能的,我如何调整 js 脚本来加载,而不是文件本身(这里首先是控制器)而是 CI' 控制器返回的最终视图?
编辑:JS 脚本:
$(".cocktail .cocktail-item a").on('click', function(event) {
event.preventDefault();
var fileToLoad = $(this).data('file');
if(portfolioActive) {
closePortfolio(true, fileToLoad);
} else {
loadPortfolio(fileToLoad);
}
});
和加载组合功能是:
function loadPortfolio(fileToLoad) {
$portfolioSingle.load(fileToLoad, function() {
portfolioSingleH = $portfolioSingle.find('.container').outerHeight();
$portfolioSingle.css({
'top': -portfolioSingleH
});
$('#portfolio').animate({ scrollTop: 0 }, "slow");
$portfolioSingle.stop().animate({
'top': 0
}, 500, 'easeOutCubic');
$portfolioContainer.stop().animate({
'marginTop': portfolioSingleH
});
portfolioActive = true;
bindClosePortfolio();
bindFancybox();
setupFlexslider();
});
}
如果这太复杂了,那我怎么能简单地告诉他通过 id 查找车把脚本并加载将动态生成的内容?
谢谢
【问题讨论】:
标签: php codeigniter templates codeigniter-2