в localStorage у меня есть массив с продуктами, и я хочу напечатать флажки с именами продуктов, имеющих атрибут nameRis, равный другому nameRis, который у меня есть в sessionStorage. Мой код выглядит так:
<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", этот код показывает мне только второй, но я хочу, чтобы он показал мне оба. Как я могу улучшить свой код для этого? Спасибо :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Проблема в том, что вы переопределяете содержимое внутри таблицы. Попробуй это:
document.getElementById('checkboxes_food').innerHTML += "<tr> <th><input type='Checkbox' name='food'>" + x[i].name+ "</th>";
Используйте + = вместо =
работает, спасибо!