Я пытаюсь сравнить результаты 2 массивов, а затем сделать соответствующие элементы видимыми.
Я передаю список из контроллера и устанавливаю идентификаторы и имена элементов, используя значения из модели. Я могу получить значения из отмеченных флажков и этих предупреждений правильно, но когда я пытаюсь получить значения из соответствующих звуковых тегов, я получаю неопределенный.
<div style="display:none;" name="audioDiv" id="audioDiv">
@foreach (var item in Model)
{
<div class="divclass" value="@item.Name" id="audioDiv" hidden>
<h1> @item.Track - @item.Singer</h1>
<audio controls id="audioPlayer" value="@item.Name">
<source src="~/MP3s/@item.Name" type="audio/mp3" />
</audio>
</div>
}
</div>
function myFunction() {
document.querySelector(".table").style.display = "none";
var audionodes = document.getElementsByTagName('audio').value;
alert(audionodes)
var checkboxes = document.getElementsByName('playlist');
var vals = "";
for (var i = 0, n = checkboxes.length; i < n; i++) {
if (checkboxes[i].checked) {
vals += "," + checkboxes[i].value;
}
}
if (vals) vals = vals.substring(1);
alert(vals);
alert(audionodes)
}
Я хочу иметь возможность сравнивать значения 'vals' и 'audionodes' и затем скрывать соответствующие аудио элементы. так, например, если флажок для luis fonzi - despacito установлен, то при нажатии кнопки «Отправить» я хочу, чтобы этот аудиоэлемент был виден, а таблица, в которой отображалась информация о «списке воспроизведения», была скрыта.
В одном массиве будут значения отмеченных полей - список имен дорожек. Второй будет содержать все значения для каждого скрытого аудиоэлемента, который является значением для каждой песни. После того, как они были сравнены, это делает соответствующие аудио элементы видимыми.