对于PHP,Javascript和AJAX,我是新手,很抱歉,如果这是一个简单的问题。我正在搞插件;在这个插件中我正在用PHP开发一个表。用户可以添加指向特定小部件的链接以显示在其主页上。我试图用Javascript和AJAX创建一个函数,从列表和数据库中删除一行。我试图为每个TR分配一个唯一的ID,但我不确定如何做到这一点..这是我的代码:
<table id="links" width="350px" border="1">
<tr>
<td></td>
<td><b>Display</b></td>
<td><b>Link *</b></td>
<?php
if ( isset($_POST['links']) ) {
$displays = $_POST['displays'];
$links = $_POST['links'];
$domain = $_POST['domain'];
foreach($links as $i => $link) {
if ( empty($displays[$i]) )
$displays[$i] = "";
if( empty($links[$i]))
unset($links[$i]);
}
$autodomain = array('displays' => $displays, 'links' => $links, 'domain' => $domain);
$options = get_option("autodomain_links") or array();
$options[] = $autodomain;
//$dump = array();
update_option("autodomain_links", $options);
}
$options = get_option("autodomain_links");
if ($options) {
foreach($options as $option) if ($tmp++ < 15) {
$displays = $option['displays'];
$links = $option['links'];
$domain = $option['domain'];
foreach($links as $i => $link)
{
echo '<tr>';
echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>';
echo '<td>' . $displays[$i] . '</td>';
echo '<td>' . $link . ' ' . $domain . '</td>';
echo '</tr>';
;
}
}
}
?>
</table>
这是Javascript / AJAX:
<script type="text/javascript" >
$(document).ready(function()
{
$('table#links td a.delete'').click(function()
{
if (confirm("Are you sure you want to delete this row?"))
{
var id = $(this).parent().parent().attr('id');
var data = 'id=' + id ;
var parent = $(this).parent().parent();
$.ajax(
{
type: "POST",
url: "delete_row.php",
data: data,
cache: false,
success: function()
{
parent.fadeOut('slow', function() {$(this).remove();});
}
});
}
});
});
</script>
Javascript / ajax使用Table id和TR id作为父ID来标识行 - 但由于我使用PHP,我不知道如何为每个TR生成唯一ID。
答案 0 :(得分:2)
您可以按$i
:
foreach($links as $i => $link)
{
echo '<tr id="id_'.$i.'">'; //<--here
echo '<td><a href="#" class="delete"/><img alt="" border="0" src="https://jarkin.its-express-tst.syr.edu/wp-content/uploads/2011/06/delete.png" /></a></td>';
echo '<td>' . $displays[$i] . '</td>';
echo '<td>' . $link . ' ' . $domain . '</td>';
echo '</tr>';
;
}
然后每行的ID为id_{rowNumber}
答案 1 :(得分:0)
您可以使用mt_rand()
之类的函数为每行生成唯一的字符串。或者只是使用计数器为行生成一系列数字。