$(document).ready(function() {
var n=1;
$("#add").click(function(){
if(n<8){
$("#form").append("
<input type='text' name='input_" + (n++) +"'/>
<input type='button' id='remove_" + (n++) +"' value='REMOVE'/>");
}
});
});
我有一个Jquery添加输入文本。
如何删除特定输入。
答案 0 :(得分:5)
假设要点击具有'{1}}'deleteInput'的元素来触发删除:
id
以上操作只会删除添加的 last $('#deleteInput').click(function(e){
// in case it's an element with a default action:
e.preventDefault();
$('#form input').last().remove();
n--;
});
元素,并递减input
变量。
另一方面,如果要删除特定的n
,而不是最后一个:
input
这假设具有$('.deleteInput').click(function(e){
e.preventDefault();
$(this).prev('input').remove();
});
类的元素将紧跟deleteInput
后移除。在这种情况下,我将按原样离开input
,让你找到一些方法来重新使用空出/清空的'槽'来重新创建n
(因为简单的减量会可能导致两个元素(无效地)共享相同的input
。
参考文献:
答案 1 :(得分:1)
试试这个:
$("#form").on("click", "input[id^='remove_']", function () {
$(this).prev(':text').remove();
$(this).remove();
n--;
});
由于inputs
是动态添加的,因此您需要使用event delegation来注册事件处理程序。
WORKING FIDDLE
答案 2 :(得分:1)
像这样使用你的按钮类 -
$("#form").append("<input type='text' name='input_" + (n++) +"'/><input type='button' class='remove' value='REMOVE'/>");
删除输入和按钮 -
$('form').on('click','.remove',function(){
$(this).prev('input').remove();
$(this).remove();
n--;
});
演示---->
http://jsfiddle.net/JvW3L/4/
答案 3 :(得分:0)
这个怎么样:
$("#remove_").remove();
(假设您要使用id='remove_'
删除第二个输入)
答案 4 :(得分:0)
您必须使用jquery选择器选择元素。选择它之后,您可以执行各种操作,其中之一就是删除它。
您可以按名称,属性,类型,它在DOM或ID中的位置选择元素。
在你的情况下,最简单的是输入id“input_3”:
$("#input_3").remove();