Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript生成HTML切换按钮并初始化它们_Javascript_Jquery_Html - Fatal编程技术网

使用JavaScript生成HTML切换按钮并初始化它们

使用JavaScript生成HTML切换按钮并初始化它们,javascript,jquery,html,Javascript,Jquery,Html,我有一个部门: <div id="div1"> </div> 问题是,当我生成第一个按钮并生成第二个按钮时,第一个按钮停止工作。我还尝试重新初始化同一个div中的第一个按钮,但这也不起作用 请告诉我,如果有更好的方法来做这件事,我会很高兴收到一些关于如何做的帮助(或者更好,示例代码)。问题是,我不能用其他方法来实现这一点,因为我是从JSON输入生成的 正如拉杰什所说,+=innerHTML正在引发问题 这将有助于: <div id="container">

我有一个部门:

<div id="div1">

</div>
问题是,当我生成第一个按钮并生成第二个按钮时,第一个按钮停止工作。我还尝试重新初始化同一个div中的第一个按钮,但这也不起作用


请告诉我,如果有更好的方法来做这件事,我会很高兴收到一些关于如何做的帮助(或者更好,示例代码)。问题是,我不能用其他方法来实现这一点,因为我是从JSON输入生成的

正如拉杰什所说,
+=innerHTML
正在引发问题

这将有助于:

<div id="container"></div>

var count = 1;

function createButton() {
  var newButton = "<input type='checkbox' id='" + count + "' checked data-toggle='toggle'><br>";
  $('#container').append(newButton);
  $('#' + count).bootstrapToggle();
  count = count + 1;
}

setInterval(createButton, 1000);

我不确定这是否是问题所在,但
+=innerHTML
是一种不好的做法。尝试使用
createElement
。另外,
count=count+1
可以是
count++
。另外,我猜输入标签需要
/>
在最后。是的,这就是问题所在。谢谢!:)别担心:)等两秒钟,我正在更新我的答案。
$('#1').bootstrapToggle();
<div id="container"></div>

var count = 1;

function createButton() {
  var newButton = "<input type='checkbox' id='" + count + "' checked data-toggle='toggle'><br>";
  $('#container').append(newButton);
  $('#' + count).bootstrapToggle();
  count = count + 1;
}

setInterval(createButton, 1000);
function createButton() {
  $('<input/>', {
    type: 'checkbox',
    checked: 'checked',
    data: {
      toggle: 'toggle'
    }
  })
  .appendTo('#container')
  .bootstrapToggle();
}

setInterval(createButton, 1000);