2013-01-21 59 views
0

当上传已完成时,我有一个jquery函数,它将文件的名称存储在一个字符串中,它的文本输入中的id。现在在函数底部,如果用户点击deletevideofile按钮,那么它可以删除文件名,这很好,但我的问题是如何删除文本输入?我似乎无法得到文字输入被删除。如何删除单击按钮时的文本输入

下面是代码:

function stopVideoUpload(success, videoID, videofilename){ 

     var result = ''; 
     videocounter++; 

     if (success == 1){ 
     result = '<span class="videomsg'+videocounter+'">The file was uploaded successfully</span>'; 
      $('.listVideo').eq(window.lastUploadVideoIndex).append('<input type="text" name="vidid" value="' + videoID + '" />'); 
      $('.listVideo').eq(window.lastUploadVideoIndex).append('<div>' + htmlEncode(videofilename) + '<button type="button" class="deletefilevideo" video_file_name="' + videofilename + '">Remove</button><br/><hr/></div>');  } 

    var _videocounter = videocounter; 

$('.listVideo').eq(window.lastUploadVideoIndex).find(".deletefilevideo").on("click", function(event) { 
    var video_file_name = $(this).attr('video_file_name'); 

    jQuery.ajax("deletevideo.php?videofilename=" + video_file_name) 
     .done(function(data) { 

     $(".videomsg" + _videocounter).html(data); 
    }); 

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


     return true; 
} 
+0

@OneTrickPony没有我以前试过,但它不会删除文本输入 – user1964964

回答

0
$('.listVideo').eq(window.lastUploadVideoIndex).append('<input type="text" name="vidid" value="' + videoID + '" id="'+ videofilename +'" />'); 
      $('.listVideo').eq(window.lastUploadVideoIndex).append('<div>' + htmlEncode(videofilename) + '<button type="button" class="deletefilevideo" video_file_name="' + videofilename + '">Remove</button><br/><hr/></div>');  } 

var video_file_name = $(this).attr('video_file_name'); 
$('#'+video_file_name).remove(); 

在你的代码替换此代码,并试图检查...你得到所需putput

+0

好有这个问题。假设我上传了2个文件,这样我就有了文件1的文本输入和文件名以及文件2的文本输入和文件名,然后如果我单击文件2的删除按钮,它将删除两个文件中的文本输入,当真的它应该只对文件2做它 – user1964964

+0

对不起,我没有看到你的更新,我会给它去一个 – user1964964

+0

它不会删除文本输入和文件名,当你试试你的答案 – user1964964

0

你应该试试这个:

$(this).parent().siblings('input[name="vidid"]').val('').remove(); 
+0

这并不会删除任何东西,当我尝试它。文本输入距离然而文件名 – user1964964

+0

对不起,我应该看到丢失的括号。无论如何,我发短信,即使我删除文本输入,它现在不会删除文件名 – user1964964

+0

尝试这一个.......... – Jai

0
$('input[name="vidid"]').remove(); 

给这是一个尝试:

$(this).parent().siblings('input[name="vidid"]').andSelf().remove(); 

的jQuery 1.8+使用的addBack()代替andSelf()

+0

好吧,这是一个问题。假设我上传了2个文件,这样我就有了文件1的文本输入和文件名以及文件2的文本输入和文件名,然后如果我单击文件2的删除按钮,它将删除两个文件中的文本输入,当它真的应该只对文件2执行 – user1964964

+0

@ user1964964在这种情况下,您需要遍历dom以获取正确的元素,现在他看起来像Jai现在正确编辑了他的答案 – billyonecan

+0

请查看我的最新评论jai的回答 – user1964964

相关问题