2017-09-26 61 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