-3

我正在尝试使用 jquery 删除 div,但我不知道如何引用 ID,因为它是 PHP var: id="delete$count"

我的Javascript代码:

 <script type="text/javascript">
 function deleteFile(fname,directory)
 {
 $.ajax({ url: "delete_img.php",
    data: {"file":fname,"directory":directory},
    type: 'post',
    success: function(output) {
      alert(output);

    $('div').remove();
             }
     });
   }
  </script>

我的PHP代码:

     $count=1;
     echo '<div class="gallery-item" id="delete$count"></div>';
     echo "<div><a class='ico ico-delete' rel='9' rev='2' href='#'onclick='deleteFile(\"$file\",\"$directory\")'>
    </a></div>";                    
    $count++;               
4

2 回答 2

1

我认为下面将delete$count逐字发送到响应流而不进行评估$count

echo '<div class="gallery-item" id="delete$count"></div>';

将其更改为

echo "<div class='gallery-item' id='delete$count'></div>";

以便 PHP 进行插值$count

然后尝试将此作为第三个参数传递给您的函数

echo "<div><a class='ico ico-delete' rel='9' rev='2' href='#'onclick='deleteFile(\"$file\",\"$directory\",\"delete$count\")'>

并在第三个参数中收集它的值

function deleteFile(fname,directory, deletecount) {  }

并更换

$('div').remove();

经过$('#' + deletecount).remove();

于 2012-09-15T12:37:38.317 回答
0

如果我理解正确,您希望实现以下目标:

  1. 使用 AJAX 告诉服务器删除文件
  2. 从当前视图中删除相同的文件而不重新加载页面

如果您从数据库中读取文件信息,我建议您使用 row-id 或类似于 'gallery-item' ids 的东西,并作为 deleteFile() 函数的参数。如果您不这样做,您可以改用 $directory 和 $file 的配对值。

 echo '<div class="gallery-item" id="'. $directory . $file . '" ></div>';
 echo "<div><a class='ico ico-delete' rel='9' rev='2' href='#'onclick='deleteFile(\"$file\",\"$directory\")'>
</a></div>";  

有了这个,你可以 $('div').remove()$('#'+directory+fname).remove()

于 2012-09-15T12:33:37.480 回答