Jquery删除附加输入 $(文档).ready(函数(){ var n=1; $(“#添加”)。单击(函数(){ 如果(n

Jquery删除附加输入 $(文档).ready(函数(){ var n=1; $(“#添加”)。单击(函数(){ 如果(n,jquery,Jquery,假设单击id为“deleteInput”的元素以触发删除: $(document).ready(function() { var n=1; $("#add").click(function(){ if(n<8){ $("#form").append(" <input type='text' name='input_" + (n++) +"'/>

假设单击id为“deleteInput”的元素以触发删除:

    $(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'/>");
            }
        });     
    });
上面只需删除最后添加的
输入
元素,并减少
n
变量

另一方面,如果要删除除最后一个输入之外的特定
输入

$('#deleteInput').click(function(e){
    // in case it's an element with a default action:
    e.preventDefault();
    $('#form input').last().remove();
    n--;
});
这假设元素(类为
deleteInput
)将立即跟随要删除的
input
。在这种情况下,我将保持
n
不变,让您找到某种方法重新使用空出来的/空出来的“插槽”,以便重新创建
输入(因为简单的减量可能会导致两个元素(无效地)共享相同的
id

参考资料:

    • 这个怎么样:

      $('.deleteInput').click(function(e){
          e.preventDefault();
          $(this).prev('input').remove();
      });
      

      (假设您想使用
      id='remove.'
      删除第二个输入)

      您必须使用jquery选择器选择一个元素。选择它之后,您可以执行各种操作,其中之一就是删除它

      您可以按名称、属性、类型、元素在DOM或id中的位置选择元素

      在您的情况下,对于id为“input_3”的输入,最简单的方法是:

      试试这个:

      $("#input_3").remove();
      
      由于
      输入是动态添加的,因此需要使用来注册事件处理程序。
      

      像这样对按钮使用类-

      $("#form").on("click", "input[id^='remove_']", function () {
          $(this).prev(':text').remove();
          $(this).remove();
          n--;
      });
      

      演示
      --->

      您能发布您尝试过的内容吗?什么会触发删除?我希望您知道
      n++
      的作用。因为输入比删除按钮有另一个n值。。
      $("#form").on("click", "input[id^='remove_']", function () {
          $(this).prev(':text').remove();
          $(this).remove();
          n--;
      });
      
      $("#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--;
      });