getElementById
доступно для документа, а не для tr
.
Документация
измените следующую строку на
var tipoProduto = document.getElementById("tipoProduto").value;
Однако, это может не дать того, что вы хотите, основываясь на моих предположениях, что у вас есть несколько элементов с этим идентификатором в вашей таблице.Опубликуйте свой html и то, что вы пытаетесь сделать, может быть, есть другой способ сделать это.
ОБНОВЛЕНИЕ:
Как подозревается, ваш td
повторяется в цикле, поэтому вы умножаете td
с таким же id
.Я бы предложил удалить идентификатор из него.Поскольку значение, которое вы ищете, является последним td
, то, что вы можете сделать, чтобы получить значение, которое вы ищете, это (один из способов):
td[td.length-1].innerHTML
Таким образом, цикл будет выглядеть как:
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[filtro];
if (td) {
var tipoProduto = td[td.length-1].innerHtml;
if (tipoProduto == $('#Produtos').prop("checked")) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}