动态更改帖子的内容(CMS)

时间:2016-12-06 14:57:43

标签: javascript php jquery ajax

我正在尝试创建一个简单的CMS。编辑帖子工作正常,但我正在努力如何切换你正在编辑的“当前”帖子(使用ajax)。

我发现我可以在每个“概览”项目中添加一个包含当前帖子ID的额外输入字段(使用css隐藏)。

我在寻找什么(或其他解决方案):如果单击“概述 - 后框”之一,则使用jquery / js查找具有类的元素:“post-id”(在该特定项目中) )。并将XHR请求发送到包含该ID的另一个页面,这将返回放置在“编辑帖子”字段中的请求的帖子。

欢迎提出任何想法!提前谢谢!

<?php foreach($projects as $project){ ?>
    <a href="<?php echo $project['project_link'] ?>" class="overview-post-box">
        <div class="overview-post">
           <div class="post-id"><?php echo $project['project_id']; ?></div>
               <div class="title">
                   <?php echo $project['project_title']; ?>
               </div>
               <div class="content">
                  <?php echo substr($project['project_content'], 0, strpos($project['project_content'], ' ', 40)) ?>
               </div>
        </div>
   </a>
<?php }; ?>

The result

1 个答案:

答案 0 :(得分:1)

有很多方法可以完成这项任务,特别是VueJs听起来像是一个胜利者来完成这项任务但是对于jQuery我认为你可以做这样的事情。

  1. 首先将数据属性附加到项目的ID
  2. <a data-id="<?php echo $project['project_id']; ?>" href="<?php echo $project['project_link'] ?>" class="overview-post-box">
    

    2.-绑定jQuery处理程序以获取发布数据并更新表单元素。

    $(document).ready(function(){
       $('.overview-post-box').click(function(event){
          event.preventDefault(); //Stop default <a> behavior 
          var id = $(this).data('id'); //get the current clicked post id
          //do an ajax request to fetch post data
          $.get('/getpostdata.php?id='+id,function(response){
           //return a json from your php side something like
           // {data: { title: 'post title', body: 'post body' }
    
          /* asign the json values to your inputs */
          $('your_input_class or id to the hidden id').val(id);
          $('your_input_class or id to the title').val(response.data.title);
          $('your_input_class or id to the body').val(response.data.body);
          }
       });
    });