Jquery:单击该div的删除按钮后页面正在重新加载

欧恩赛义夫

我想使用 jquery 在我的 html 代码中动态添加和删除 div。当我单击添加按钮时,将添加一个带有删除按钮的新文本字段,以删除该文本字段。这是我的 html 代码:

$(document).ready(function() {

  var wrapper = $(".addField"); //Fields wrapper
  var add_button = $("#addButton"); //Add button ID

  var x = 1; //initlal text box count
  $(add_button).click(function(e) { //on add input button click
    e.preventDefault();

    x++;
    $(wrapper).append('<label for="inputEmail3" class="col-sm-1 control-label">' +
      x + '</label>' +
      '<div class="col-md-5">' +
      '<div class="input-group">' +
      '<input type="text" class="form-control" placeholder="Option">' +
      '<span class="input-group-btn">' +
      '&nbsp;&nbsp;' +
      '<button href="#" class="removeOption">' +
      '<i class="fa fa-times fa-2x text-danger" style="font-size: 18px" aria-hidden="true"></i>' +
      '</button>' +
      '</span>' +
      '</div>' +
      '</div>');

  });

  $(wrapper).on("click", ".removeOption", function() { //user click on remove text

    $(this).parent('div').remove();
    x--;

  })
});
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<!-- Jquery library for bootstrap-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


<div class="form-group">
  <label for="inputEmail3" class="col-sm-2 control-label">Options</label>
  <div class="col-md-10">
    <button class="btn btn-danger" id="addButton">ADD OPTION</button>
  </div>
</div>

<div class="form-group">
  <div class="addField">
    <label for="inputEmail3" class="col-sm-1 control-label">1</label>
    <div class="col-md-5">
      <div class="input-group">
        <input type="text" class="form-control" placeholder="Option">
        <span class="input-group-btn">
            <button href="#" class="removeOption">
              <i class="fa fa-times fa-2x text-danger" style="font-size: 18px" aria-hidden="true"></i>
            </button>
        </span>
      </div>
    </div>
  </div>
</div>

但是当我点击删除按钮时,所有添加的 div 都消失了/页面正在重新加载。我该如何解决问题?

古鲁帕萨德·J·饶(Guruprasad J Rao)

只需将参数添加e到您的click event并阻止其默认操作

$(wrapper).on("click",".removeOption", function(e){ //user click on remove text
      e.preventDefault(); //or try with return false
      $(this).parent('div').remove(); 
      x--;
})

注意-button没有属性href相反,a标签有一个。

片段

$(document).ready(function() {

  var wrapper = $(".addField"); //Fields wrapper
  var add_button = $("#addButton"); //Add button ID

  var x = 1; //initlal text box count
  $(add_button).click(function(e) { //on add input button click
    e.preventDefault();

    x++;
    $(wrapper).append('<label for="inputEmail3" class="col-sm-1 control-label">' +
      x + '</label>' +
      '<div class="col-md-5">' +
      '<div class="input-group">' +
      '<input type="text" class="form-control" placeholder="Option">' +
      '<span class="input-group-btn">' +
      '&nbsp;&nbsp;' +
      '<button href="#" class="removeOption">' +
      '<i class="fa fa-times fa-2x text-danger" style="font-size: 18px" aria-hidden="true"></i>' +
      '</button>' +
      '</span>' +
      '</div>' +
      '</div>');

  });

  $(wrapper).on("click", ".removeOption", function(e) { //user click on remove text
    e.preventDefault();
    $(this).closest('div.col-md-5').prev().remove();
    $(this).closest('div.col-md-5').remove();
    x--;

  })
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://npmcdn.com/[email protected]/dist/js/tether.min.js"></script>
<script src="https://npmcdn.com/[email protected]/dist/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script>
<div class="form-group">
  <label for="inputEmail3" class="col-sm-2 control-label">Options</label>
  <div class="col-md-10">
    <button class="btn btn-danger" id="addButton">ADD OPTION</button>
  </div>
</div>

<div class="form-group">
  <div class="addField">
    <label for="inputEmail3" class="col-sm-1 control-label">1</label>
    <div class="col-md-5">
      <div class="input-group">
        <input type="text" class="form-control" placeholder="Option">
        <span class="input-group-btn">
             <button href="#" class="removeOption">
              <i class="fa fa-times fa-2x text-danger" style="font-size: 18px" aria-hidden="true"></i>
             </button>
        </span>
      </div>
    </div>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JQuery 在重新加载页面后单击元素

来自分类Dev

单击按钮后,将重新加载页面,而不是调用函数

来自分类Dev

单击后退按钮注销后重新加载jsp页面

来自分类Dev

单击删除按钮后如何自动重新加载更新的数据

来自分类Dev

使用jQuery单击隐藏/显示按钮时页面重新加载

来自分类Dev

即使在提交按钮上使用jQuery后页面也重新加载

来自分类Dev

即使在提交按钮上使用jQuery后页面也重新加载

来自分类Dev

单击并加载页面 jquery 后

来自分类Dev

如何计算每次单击后重新加载页面时按钮单击的次数?

来自分类Dev

单击按钮后 jQuery/JavaScript 加载 div 背景图像

来自分类Dev

重新加载后,该按钮仅在第二次单击时有效

来自分类Dev

单击按钮后JqGrid不要重新加载

来自分类Dev

单击按钮后网站不会重新加载

来自分类Dev

使用jQuery单击隐藏/显示按钮单击时页面重新加载

来自分类Dev

提交按钮后应重新加载页面

来自分类Dev

删除项目后,symfony重新加载页面

来自分类Dev

jQuery单击锚标记重新加载页面

来自分类Dev

页面重新加载后显示div

来自分类Dev

Javascript:重新加载DIV后禁用按钮

来自分类Dev

仅在页面加载后运行jQuery单击

来自分类Dev

单击按钮,使用参数重新加载窗口,然后删除按钮

来自分类Dev

我如何才能使jQuery仅在单击按钮后才执行,而不是在页面加载时执行

来自分类Dev

页面加载后如何删除或隐藏div

来自分类Dev

jQuery的。单击后如何删除按钮?

来自分类Dev

按钮单击事件在页面重新加载时触发

来自分类Dev

UIPageControl-单击按钮即可重新加载页面

来自分类Dev

单击提交按钮时未重新加载Ruby on Rails页面

来自分类Dev

重新加载页面后重新切换Div

来自分类Dev

单击提交按钮以进行引导模态和parsley.js验证后,如何防止页面重新加载?

Related 相关文章

  1. 1

    JQuery 在重新加载页面后单击元素

  2. 2

    单击按钮后,将重新加载页面,而不是调用函数

  3. 3

    单击后退按钮注销后重新加载jsp页面

  4. 4

    单击删除按钮后如何自动重新加载更新的数据

  5. 5

    使用jQuery单击隐藏/显示按钮时页面重新加载

  6. 6

    即使在提交按钮上使用jQuery后页面也重新加载

  7. 7

    即使在提交按钮上使用jQuery后页面也重新加载

  8. 8

    单击并加载页面 jquery 后

  9. 9

    如何计算每次单击后重新加载页面时按钮单击的次数?

  10. 10

    单击按钮后 jQuery/JavaScript 加载 div 背景图像

  11. 11

    重新加载后,该按钮仅在第二次单击时有效

  12. 12

    单击按钮后JqGrid不要重新加载

  13. 13

    单击按钮后网站不会重新加载

  14. 14

    使用jQuery单击隐藏/显示按钮单击时页面重新加载

  15. 15

    提交按钮后应重新加载页面

  16. 16

    删除项目后,symfony重新加载页面

  17. 17

    jQuery单击锚标记重新加载页面

  18. 18

    页面重新加载后显示div

  19. 19

    Javascript:重新加载DIV后禁用按钮

  20. 20

    仅在页面加载后运行jQuery单击

  21. 21

    单击按钮,使用参数重新加载窗口,然后删除按钮

  22. 22

    我如何才能使jQuery仅在单击按钮后才执行,而不是在页面加载时执行

  23. 23

    页面加载后如何删除或隐藏div

  24. 24

    jQuery的。单击后如何删除按钮?

  25. 25

    按钮单击事件在页面重新加载时触发

  26. 26

    UIPageControl-单击按钮即可重新加载页面

  27. 27

    单击提交按钮时未重新加载Ruby on Rails页面

  28. 28

    重新加载页面后重新切换Div

  29. 29

    单击提交按钮以进行引导模态和parsley.js验证后,如何防止页面重新加载?

热门标签

归档