2016-12-06 160 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