2012-05-03 44 views
0

我有一个函数中的删除功能,如果用户点击“删除”按钮,它会显示一条消息,指出文件已被删除。它做到这一点的代码如下:消息总是出现在第一行?

$("#imagemsg").html(data); 

但问题是,让我们说,我有4个表行,删除的第三行中的文件,应该仅显示,而是在第3行中的消息它显示在第一行。另一个例子是假设我有8个表格行,并且我在第6行删除了一个文件,这个消息应该只显示在第6行,而是显示在第一行。

为什么在文件被删除后假定出现的消息始终显示在第一行,而不是在文件已被删除的行内?

下面是完整的代码:

var counter = 0; 
     counter++; 

function stopImageUpload(success, imagefilename){ 

     var result = ''; 

     if (success == 1){ 
     result = '<span id="imagemsg'+counter+'">The file was uploaded successfully!</span><br/><br/>';  
     $('.listImage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage" image_file_name="' + imagefilename + '">Remove</button><br/><hr/></div>'); 
     } 
     else { 
     result = '<span id="imageemsg">There was an error during file upload!</span><br/><br/>'; 
     } 


     $(".deletefileimage").on("click", function(event) { 

     var image_file_name = $(this).attr('image_file_name'); 

    jQuery.ajax("deleteimage.php?imagefilename=" + image_file_name) 
     .done(function(data) { 
     $("#imagemsg" + counter).html(data); 
     }); 

     $(this).parent().remove(); 

    }); 

     return true; 
} 

下面是其中的删除消息从检索到的deleteimage.php脚本:

<?php 
    $image_file_name = $_GET["imagefilename"]; 

    echo "$image_file_name was Deleted"; 
    unlink("ImagesFilesFolder/$image_file_name"); 


?> 
+1

那么,你的元素与ID“imagemsg”在哪里?如果您也发布了HTML代码,会更容易。 – KBN

+0

是的HTML会帮助,因为它听起来像id可能没有正确设置和查询引擎混淆。 – GillesC

+0

我可以想象一个重复ID的情况,每次都会选择第一个 - 但是,HTML会清除这样的事情:) –

回答

0

这个问题似乎是这样的:

.done(function(data) { 
    $("#imagemsg" + counter).html(data); 

您设置为counter这样的

var counter = 0; 
counter++; 

但是,你似乎再也没有提到这个变量。在任何情况下,这个变量都是全局的 - 上面的命令将始终以该计数器的当前编号为目标ID,所以它不会以与点击的按钮相对应的tr为目标。

由于您使用

$(this).parent().remove(); 

我认为家长是tr关注?在这种情况下,你可以使用一个类,而不是一个ID“imagemsg”,然后做

$(this).parent().find(".imagemsg").html(data); 

这将针对同一排按钮的内部消息。

+0

嗨,这是我以前实际尝试imagemsg是一个类,而不是一个ID之前,我有这种方法的问题是,当我删除其中一个行内的文件,它实际上不显示消息:'文件已被删除'。我还在我的问题中包含了deleteimage.php代码,因为删除消息是从php中检索的 – user1364441

相关问题