动态添加的行不会捕获js代码

时间:2018-04-20 16:26:22

标签: javascript html dynamic

我遇到了动态表和js代码的问题

这是表

<table class="table table-bordered table-striped responsive-utilities" id="m1r2">
 <thead>
  <tr>
   <th data-toggle="tooltip" title=" <?php echo $lang['m1r7AuditoresPlace'] ; ?>"> <?php echo $lang['m1r7Auditores']; ?> </th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <th scope="row" data-toggle="tooltip" title=" <?php echo $lang['m1r7AuditoresPlace'] ; ?>">
  <select class="select2 m-b-10 select2-multiple"  multiple="multiple" data-placeholder="Seleccione" name="m1r7Auditores1[]">
   <?php foreach ($auditores as $aud ): ?>
    <option value="<?php echo $aud->userRut; ?>"><?php echo ''.$aud->userRut.'</option>
   <?php endforeach; ?>
  </select> -
 </th>
</tr>
</tbody>
</table>

JS添加更多行就像这样

$(document).ready(function() {
 $('#btnAdd').click(function() {
  var num = document.getElementById('cuantos').value;
  var num2 = 1;
  var sum = Number(num) + num2;

  document.getElementById("m1r2").insertRow(-1).innerHTML = '<tr>' +
  '<th scope="row" data-toggle="tooltip" title=" <?php echo $lang['m1r7AuditoresPlace'] ; ?>"><select  multiple="multiple" name="m1r7Auditores1[]">' +
  '  <?php foreach ($auditores as $aud ): ?>' +
  '    <option value="<?php echo $aud->userRut; ?>"><?php echo ''.$aud->userRut.'</option>' +
  '  <?php endforeach; ?>' +
  '</select></th>' +
  '</tr>';

结果它的第一个像魅力一样工作,但是当我添加一些行时,它们变得简单(没有样式,没有js)as image shown

提前感谢您的帮助:)!

1 个答案:

答案 0 :(得分:0)

问题解决了!如果有人得到同样的问题,js DOM没有被重新声明tr重复,所以我刚刚添加

$('#select'+ sum +'').multiSelect();

在上面显示的代码的末尾:)