如何在 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>`
}
我将我的 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>`
}