Witam!
Mam pewien problem. Posiadam w kodzie listę wyboru "multiple". Aby przeczytać z niej wartości używam pętli:
for (let i = 1; i < wybierzPrzeciwnika1.options.length; i++) {
if (wybierzPrzeciwnika1.options[i].selected) {
debugInfo(wybierzPrzeciwnika1.options[i].value);
}
}
debugInfo to nic innego, jak console.log z kilkoma "usprawnieniami", po prostu moja funkcja, którą mogę wyłączyć ustawiając jedną wartość na false. Po prostu pętla nic jeszcze nie robi konkretnego, ale nie w tym rzecz.
"wybierzPrzeciwnika1" to nazwa jednego z selectów, jest ich 6, z odpowiednią liczbą. Przy innych typach inputów robiłem coś w tym stylu:
let div = "postacStaty" + numerPostaci;
document.getElementById(div).innerHTML = staty;
W ten sposób odpowiednia nazwa mi się sama generowała i wszystko działało, ale nie przy tej pętli. Robiłem oczywiście to:
let selectName = "wybierzPrzeciwnika" + numerPostaciAtakujacej;
for (let i = 1; i < selectName.options.length; i++) {
if (selectName.options[i].selected) {
debugInfo(selectName.options[i].value);
}
}
lecz konsola mówi jasno:
Co też sprawdziłem
Czy jest jakiś względnie prosty sposób, by tego stringa zmienić w obiekt? Uprzedzając - szukałem, lecz trafiam na rozwiązania typu JSON.parse(), niestety, nie mam o tym zielonego pojęcia. Utknąłem ostatnie dwa dni na tym zagadnieniu i nie wiem, jak to przeskoczyć, by miało ręce i nogi. Z góry dziękuję za wszelką pomoc!