下面有一个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;
}
答案 0 :(得分:4)
除了生成名为“vidid”的输入框之外,还要为id
元素添加<input>
属性,并为每个视频添加唯一ID。
然后更改.siblings()
行中.remove()
功能中的选择器,以匹配正在生成的id
的{{1}}。
这是一些JavaScript示例。修改它以满足您的需求:
<input>