2012-05-01 52 views
0

下面是一個函數,它控制文件在自己的表格行中上傳完成後發生的任何事情。每個表格行由一個文件輸入組成,用戶可以上傳文件,然後將文件的名稱追加到自己的表格行中。如何在正確的行而不是所有行中顯示消息?

如果文件成功,則會顯示一條成功的消息,如果上傳失敗,則會顯示一條消息,指出存在錯誤。但我也有另一個功能,用戶可以通過點擊「刪除」按鈕來刪除文件。我唯一的問題是這行代碼:

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

比方說,我有2個錶行,我刪除了第一行中的文件,只應顯示在第一內.imagemsg消息行,因爲這是刪除發生的行,它不應該在第一行和第二行顯示消息。

所以我的問題是我需要添加到$(".imagemsg").html(data);,這樣的消息只顯示在行中刪除文件發生,而不是在所有.imagemsg這是在每一行?

下面是完整的代碼:

function stopImageUpload(success, imagefilename){ 

     var result = ''; 

     if (success == 1){ 
     result = '<span class="imagemsg">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 class="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'); 

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

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


    }); 

     return true; 
} 
+0

也應該標記爲「jquery」。 –

+0

標記它,歡呼:) – user1359453

+0

有誰知道如何實現Kolink的答案? – user1359453

回答

0

通過相關元素的回調函數。您已經擁有$(this),所以您可以從中獲取正確的行並將其放入一個變量中,然後在回調中訪問它以將結果放在正確的位置。

+0

我在問題的底部包含回調函數。你是說要傳遞var image_file_name嗎?我在哪裏放置$ image_file_name在回調函數中?最後它是否正確? – user1359453

相關問題