javascript - 由javascript在div中添加的动态表单

标签 javascript

我有一个由javascript通过其id在div中添加的动态表单,但问题是当我调用这个函数来填充我的div时,第一个调用工作正常,但第二个它添加了已经存在的相同输入。然后在同一个中div 我有重复的输入

getAllPiece();

function getAllPiece(){
    $.getJSON(
         "getAllPiece", 
 {piece: $('select#typeevenement').val()},
 function(data) {
      var html = '';
      for(var i=0; i < data.length; i++){
          html += '<div class="checkbox"><label><input type="checkbox" class="piece" name="piece" value="'+data[i].codePiece+'" id="copiercin"/>' + data[i].libellePiece + '</label></div>';
          console.log(html);
       }
      $('#divpiece').append(html);
     }
  );
}

最佳答案

如果没有别的的话"#divpiece"您可以使用 html() 元素方法 append() ,因为它还会删除您要添加 html 的元素的内容。所以它看起来像:

...
function(data) {
  var html = '';
  for(var i=0; i < data.length; i++){
      html += '<div class="checkbox"><label><input type="checkbox" class="piece" name="piece" value="'+data[i].codePiece+'" id="copiercin"/>' + data[i].libellePiece + '</label></div>';
      console.log(html);
   }
  $("#divpiece").html(html); // HERE IS THE CHANGE
 }
);

如果您需要追加(如果不仅仅是您要添加的元素),您有两种可能的解决方案:

  1. 检查是否 "#divpiece"其内部已经有该元素,就像这样 if($(".piece").val() === data[i].codePiece) { // stop script }

  2. 如果您附加的 div ( "<div class="checkbox">...</div> ) 不存在,您可以使用 $("div.checkbox").remove() 删除整个 div然后添加另一个

关于javascript - 由javascript在div中添加的动态表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44676138/

相关文章:

javascript - Firefox contenteditable image selected after drop - 无法删除选择

javascript - 如何将图像预加载到 Orbit slider 中?

javascript - JavaScript闭包如何工作?

javascript - 如何从特定的 div 中取消呈现/分离/删除 ZingChart 库?

javascript - 将 JavaScript 注入(inject)网站

javascript - 如何使用 POST 方法传递参数? NodeJS

javascript - 将鼠标悬停在区域上时如何避免 CSS 闪烁?

javascript - javascript 中的函数 - 定义和调用它们,有或没有函数名

javascript - HTML5 Canvas 转 PDF

javascript - 单击两个链接,执行某些操作吗?