通过jQuery加载页面内容 - codeigniter

时间:2014-04-20 16:08:07

标签: javascript php jquery ajax codeigniter

我有两个观点main.php和details.php。在 main.php 中有很多内容,每个内容下都有一个" 查看更多"按钮。如果有人点击查看更多,ajax调用将动态加载来自details.php的其余内容,后者将从数据库w.r.t获取内容的ID。它是details.php中的列表样式视图。 在main.php的标题中,我的主脚本文件包含此代码片段,用于从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中有一个添加内容按钮以及动态加载的每个内容都不起作用。内容添加脚本在main.jp中添加了main.js。但我必须添加这个特定的jquery代码片段,在details.php中添加内容,否则它不起作用。因此,每当点击查看更多内容时,它都会返回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>

我想再次添加我能够添加内容但是这样做我必须将这段代码片段嵌入到我不想做的details.php中。我需要从我的主脚本文件中获取torun。

1 个答案:

答案 0 :(得分:1)

这应该有效:

$(document).on('click','.add_this',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");
            }
        }
    });
    });