【发布时间】:2014-04-21 00:21:09
【问题描述】:
我有两个视图 main.php 和 details.php。 main.php 中有很多内容,每个内容下都有一个“查看更多”按钮。如果有人点击查看更多,ajax 调用将从 details.php 动态加载其余内容,这将从数据库 w.r.t 内容的 ID 中获取数据。它是 details.php 中的列表样式视图。 在 main.php 的头文件中,我的主脚本文件包含此代码 sn-p 以从 details.php 中获取数据 -
$('.view_more').click(function(e) {
$.ajax({
type: 'POST',
url: '/path/to/my/controller/method',
dataType: 'html',
success: function (html) {
$('#details_container').html(html);
}
});
});
数据正在完美加载。但问题是 details.php 中有一个 add content 按钮以及动态加载的每个内容都不起作用。内容添加脚本在我的main.js中添加在main.php中。但是我必须添加在 details.php 中添加内容的这个特定的 jquery 代码 sn-p,否则它不起作用。因此,每当单击查看更多内容时,它都会返回 html 数据以及用于添加内容的....代码....坚持下去。这根本不是我们想要的。
如何解决这个问题?请帮忙。提前致谢。
这是添加内容的代码。
<script type="text/javascript">
$('.add_this').click(function(){
var t = jQuery(this);
var id_add = t.attr("id");
var content_category_id = t.attr("rel");
var add_content_id = id_add.substring(id_add.indexOf('_')+1);
var content_creator_id = t.attr("data-clip-id");
$.ajax({
type: "POST",
url: "/path/to/my/controller/method",
data: add_content_id,
cache: false,
success: function(response){
if(response)
{
$("#"+id_clip).text("Clipped");
}
}
});
});
</script>
我想再次添加我可以添加内容,但要这样做,我必须将此代码 sn-p 嵌入到我不想做的 details.php 中。我需要从我的主脚本文件中运行。
【问题讨论】:
-
向我们展示
add_content的点击功能,以便我们为您提供适当的帮助。 -
使用 $(document).on('click','.add_this',function(){ //你的代码 });而不是 $('.add_this').click(function(){})
-
使用这个 $(document).on('click','.add_click',function(){});
-
我给你一个真诚的建议。请不要在php页面上创建整个html模板。使用它只是返回JSON对象。使用你的jquery将它们放到html文档中。跨度>
-
好的@Tyranicangel 我会考虑你的宝贵意见。但我不是这方面的专家。如何使用 JSON。你能举个例子或任何链接,我如何从数据库中获取数据,使 JSON 编码并将其放入 jquery 中填充它。谢谢。
标签: javascript php jquery ajax codeigniter