JQuery如何实现动态添加和删除<input type="file">?

loki_lan 发布于 2012/07/16 13:49
阅读 9K+
收藏 1
如图,添加任意个input已经完成,如何删除任意指定的一个,如我点击第3个“-”则删除第3个,而不是其他的。下面是我JQUERY语句片断,它只能删除最上面的一个,不能删除指定的某个:
$("#addFiles").click(function(){
		var button="<div id='adder'><input type='file' id='upLoadFiles' name='upLoadFile' /><input type='button' id='removeAddFile' value='-' /></div>";
		$("#addFileTD").append(button);
	});	
	
	$("#removeAddFile").live("click",function(){
		var iner=$("#adder").index();
		alert(iner);
		$("#adder").get(iner).remove();
	});
这个是HTML部分代码:
<table id="optionTable">
						<tr>
							<td id="addFileTD"><input type="file" id="upLoadFile" name="upLoadFile" /><input type="button" id="addFiles" value="+" /></td>
							<td><input type="button" id="startUpLoad" value="开始上传" /></td>
							<td><input type="button" id="downloadSelected" value="下载选中文件" /></td>
							<td><input type="button" id="deleteSelected" value="删除选中文件" /></td>
							<td><input type="button" id="backoToParent" value="返回上层目录" /></td>
						</tr>
					</table>

以上,小弟初学JQUERY,求大神指点。

加载中
0
童学芬
童学芬
$("#removeAddFile").live("click",function(){
    $(this).parent().remove();
});

你自己看看,不能有相同的ID。要不然会出问题的。你把ID改成class.删除当前是这样的:

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

loki_lan
loki_lan
非常感谢,可以了,谢谢大神了!
0
Andre.Z
Andre.Z
你的id都是一样的,没发现?要删除的话,parent().remove()不行?
Andre.Z
Andre.Z
回复 @loki_lan : 拜托,parent()是指那个div。
loki_lan
loki_lan
这样的话所有的都删除了,主要是他们都处于同一个TD里面
0
xu81.com
xu81.com
html中id是唯一的,可以使用自定义属性或者class。
loki_lan
loki_lan
这个是动态地生成的,具体要怎么做呢?
0
喵无声息
喵无声息

 var button="<div id='adder'><input type='file' id='upLoadFiles' name='upLoadFile' /><input type='button' id='removeAddFile' value='-' /></div>";

存在重复id 只操作第一个。尽量或者请保持id唯一!

点击“-” 按钮时,$(this).parent().remove();


喵无声息
喵无声息
回复 @loki_lan : $(this).parent() 是div标签
loki_lan
loki_lan
$(this).parent().remove();的时候他把TD里面的都REMOVE掉了,怎么办
0
Jason阿坚
Jason阿坚
一个页面,就是一个document不能有俩id是一样的,不然ta会疯掉
返回顶部
顶部