2016-12-06 125 views
2

我正尝试创建简单的CMS。编辑帖子工作正常,但我在如何切换您正在编辑的“当前”帖子(使用ajax)挣扎。动态更改帖子内容(CMS)

我想我可以添加一个额外的输入字段包含当前职位ID到每个“概述”项目(这是隐藏使用CSS)。 (或其他解决方案):如果点击了“overview-post-box”之一,使用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

有很多的方式来专门完成这项任务VueJs听起来像一个胜利者做这个任务,但jQuery的我认为你可以做这样的事情。

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

2:绑定jQuery的处理程序来获取数据后,更新你的表单元素的ID。

$(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); 
     } 
    }); 
}); 
+0

谢谢你的快速反应,效果很好。我显然不知道你可以使用任何这些数据属性,他们是非常有用的,所以看到:) –

+0

我很高兴这件事帮助你:) – OsDev