如何在 javascript 的复选框中添加动态 ID?

How to put Dynamic id in checkbox in javascript?

我将我的 html 代码附加到一个变量 (ctableData),我再次将其附加到主容器。 现在我想为复选框设置动态 ID,所以我 运行 循环并在每次迭代中递增 k 的值,然后将 k 分配为复选框 ID。但这似乎不起作用?

for(let k =1; k< x.length; k++){
ctableData += '<div class="table_container"><table id="table1" class="checkboxdiv"><tbody><tr><th>'+plan[0].medicalPlans[i].brokerName+' <input type="checkbox" id= k name="table1" value="table1" onchange="myFunction(event)"> </th></tr>
}

使用反引号 template string

for(let k =1; k< x.length; k++){
ctableData += `<div class="table_container">
    <table id="table1" class="checkboxdiv">
      <tbody>
        <tr>
          <th>'+plan[0].medicalPlans[i].brokerName+' 
            <input type="checkbox" id=${k} name="table1" value="table1" onchange="myFunction(event)" /> 
          </th>
        </tr>
      </tbody>
      </table>
    </div>`
}

您的代码存在的问题是您没有使用 k 的值。您将 k 放在不计算为循环变量的字符串中。就像 plan[0].medicalPlans[i].brokerName :

一样使用它
 for (let k = 1; k < x.length; k++) {
  ctableData += '<div class="table_container">
                   <table id="table1" class="checkboxdiv"><tbody><tr><th>' 
                  + plan[0].medicalPlans[i].brokerName + ' 
                    <input type="checkbox" id=' + k + ' name="table1" 
                   value="table1" onchange="myFunction(event)"> </th></tr>
     }

尝试使用模板文字。

for(let k =1; k< x.length; k++){
ctableData += 
`<div class="table_container">
     <table id="table1" class="checkboxdiv">
         <tbody>
             <tr>
                 <th>'+plan[0].medicalPlans[i].brokerName+'
                    <input type="checkbox" id=${k} name="table1" value="table1" 
                    onchange="myFunction(event)"> 
                 </th>
             </tr>
         <tbody>
     <table>
</div>`
}