我如何使用 js 打印 table 个复选框?
how can i print a table of checkboxes using js?
在 localStorage 中,我有一个包含产品的数组,我想打印带有属性 nameRis 等于我在 sessionStorage 中的另一个 nameRis 的产品名称的复选框。我的代码如下所示:
<table id="checkboxes_food"> </table>
<script type="text/javascript">
var x = [];
x = JSON.parse(localStorage.getItem("spec_ris")); //products
var y = JSON.parse(sessionStorage.getItem("loggedris")); //logged user
for (var i = 0; i < x.length; i++) {
if (x[i].nameRis=== y.nameRis) {
document.getElementById('checkboxes_food').innerHTML = "<tr> <th><input type='Checkbox' name='food'>" + x[i].name+ "</th>";
}
}
</script>
它有效,但它会不断覆盖产品,如果我有两个产品,例如“Ciccio”,此代码只显示第二个,但我希望它显示两个。我怎样才能改进我的代码来做到这一点?谢谢:)
问题是您覆盖了 table 中的内容。试试这个:
document.getElementById('checkboxes_food').innerHTML += "<tr> <th><input type='Checkbox' name='food'>" + x[i].name+ "</th>";
使用+=代替=
在 localStorage 中,我有一个包含产品的数组,我想打印带有属性 nameRis 等于我在 sessionStorage 中的另一个 nameRis 的产品名称的复选框。我的代码如下所示:
<table id="checkboxes_food"> </table>
<script type="text/javascript">
var x = [];
x = JSON.parse(localStorage.getItem("spec_ris")); //products
var y = JSON.parse(sessionStorage.getItem("loggedris")); //logged user
for (var i = 0; i < x.length; i++) {
if (x[i].nameRis=== y.nameRis) {
document.getElementById('checkboxes_food').innerHTML = "<tr> <th><input type='Checkbox' name='food'>" + x[i].name+ "</th>";
}
}
</script>
它有效,但它会不断覆盖产品,如果我有两个产品,例如“Ciccio”,此代码只显示第二个,但我希望它显示两个。我怎样才能改进我的代码来做到这一点?谢谢:)
问题是您覆盖了 table 中的内容。试试这个:
document.getElementById('checkboxes_food').innerHTML += "<tr> <th><input type='Checkbox' name='food'>" + x[i].name+ "</th>";
使用+=代替=