如何仅删除正确的文本输入?

时间:2013-01-21 19:08:52

标签: jquery html

下面有一个jquery函数,当上传完成后,它会将文件名存储在一个字符串中,并且它是文本输入中的id。现在在函数的底部,如果用户单击deletevideofile按钮,则假设删除文件名和属于该删除按钮的textinput。但问题是,即使只是删除了正确的文件名,它也会删除所有文本输入,而不仅仅是删除正确的文本输入。

我的问题是如何仅在单击删除按钮时才删除正确的文本输入?

以下是代码:

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().siblings('input[name="vidid"]').andSelf().remove();
});


      return true;   
}

1 个答案:

答案 0 :(得分:4)

除了生成名为“vidid”的输入框之外,还要为id元素添加<input>属性,并为每个视频添加唯一ID。

然后更改.siblings()行中.remove()功能中的选择器,以匹配正在生成的id的{​​{1}}。

这是一些JavaScript示例。修改它以满足您的需求:

<input>