2017-09-26 66 views
0

我使用的是for循環用於從API在表內顯示數據:刪除表中的行(從一個循環的API)捲曲

for ($i = 0; $i < count($return['data']); $i++){ 
    echo "<tr><td>".$return['data'][$i]['data_id']."</td>"; 
    echo "<td>".'<button id="delete" class="btn btn-danger" value="'.$return['data'][$i]['data_id'].'" type="text">Delete</button>'."</td></tr>"; 
} 

結果是一個表,其中顯示了data_id和連續刪除按鈕。現在,我希望能夠通過發送data_idcurl-> delete(api)代碼時點擊刪除按鈕來刪除該項目! 或者下面的代碼刪除按鈕點擊運行

curl --include \ --request DELETE \ --header "<secret key>" \ https://example.com/api/v1/data/{data_Iid}?app_id={appId}

,我需要包括來自循環了Data_ID,並把它傳遞給生硬刪除代碼。我使用了onClick函數來獲取data_id的值,但它僅顯示每個刪除按鈕的第一個data_id值。

我該如何實現我的目標,並能夠通過正確的data_id來控制刪除代碼? 謝謝,

回答

0

由於性能的原因,我把一個事件監聽器放在表上。一個JavaScript事件監聽器可以捕獲按鈕上的所有點擊。看看下面的例子。

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Button Value Event Listener</title> 
    </head> 
    <body> 
     <table id="my-table"> 
     <thead> 
      <tr> 
       <th>Spalte 1</th> 
       <th>Spalte 2</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Wert 1</td> 
       <td> 
        <button value="1" name="delete[]">Mein Button</button> 
       </td> 
      </tr> 
      <tr> 
       <td>Wert 2</td> 
       <td> 
        <button value="2" name="delete[]">Mein Button</button> 
       </td> 
      </tr> 
     </tbody> 
     </table> 
     <script> 
      var table = document.getElementById('my-table'); 
      table.addEventListener('click', function(event) { 
       var target = event.target; 

       if (target.tagName = 'BUTTON' && target.value) { 
        // remove and place your ajax request here 
        console.log(target.value); 
       } 
      }); 
     </script> 
    </body> 
</html> 

在這個例子中,你會得到你已經放置在for循環中的按鈕的所有值。請確保設置了$return['data'][$i]['data_id']幷包含您所期望的值。

在geiven示例中,您的id僅記錄在控制檯中。請用您的異步JavaScript請求(AJAX)替換console.log

+0

好的,我做了,我也在ajax上運行一個錯誤,你能幫我嗎?這是我的ajax代碼在你的if:if(target.tagName ='BUTTON'&& target.value){$ .ajax({url:「delete.php」,data:$(this).target.value,type :'POST',dataType:「json」,success:function(data){('#resultback')。addClass(「alert alert-success」)。html('it was been succeededfully!'); }} );}' – callmejoejoe