2012-10-17 64 views
0

我有一個foreach,它在PHP中打印來自我的數據庫的數據。我得到了每一行的鏈接,允許我從數據庫中刪除每個數據。正確在foreach我得到了一個input type="hidden"與數據的ID值。從循環中獲取正確的標識

<?php 
    foreach($sql->query("SELECT * FROM table") AS $row) { 
     <input type="hidden" value="'.(int)$row['id'].'"> 
     echo $row['name'].' (<a href="javascript:void(0)" id="delete-row">delete</a>)'; 
    } 
?> 

經過一番激烈的谷歌搜索,我想出了這個。但是當我點擊「刪除」鏈接時,它會使用此代碼打印循環中的每一行。

$(document).ready(function() { 
    $('#delete-row').click(function() { 
     var val = $('input[type="hidden"]').map(function() { 
      return this.value; 
     }).get(); 

     alert(val); 
    }); 
}); 

這是錯誤的!我想獲得該鏈接的ID,我點擊。如果我點擊帶有ID 3的鏈接,它會通過ID 3提醒我。你知道我該如何解決我的問題嗎?

在此先感謝。

+0

你能顯示你的html嗎? – Jrod

+1

是你的' greener

+0

你正在問一個JavaScript問題,請張貼呈現的HTML,因爲PHP在這裏不值得。也同意你的隱藏輸入不被渲染的更綠色。 – ahren

回答

4

我甚至不會爲此使用隱藏字段。

<?php 
    foreach($sql->query("SELECT * FROM table") AS $row) { 
     echo $row['name'].' (<a href="javascript:void(0)" data=". (int)$row['id'] ." class="delete-row">delete</a>)'; 
    } 
?> 


$(document).ready(function() { 
    $('.delete-row').click(function() { 
     var val = $(this).attr('data');  
     alert(val); 
    }); 
}); 
+0

Id是獨一無二的。你對每個元素都使用id =「delete-row,你需要給他們一個不同的ID,用一個類來代替 –

+0

感謝ComputerArts,它是一種恥辱,我無法撿起它。 !! :-)根據ComputerArts的建議修改我的代碼 – Tariqulazam

+0

非常感謝,Tariqualazam :)你的回答解決了我的問題。 – Erik