Witam serdecznie, ostatnimi czasy bawię się w javascripta i natknąłem na pewne błędy. Dzisiaj miałem do zrobienia dwie rzeczy, mianowicie po zaznaczeniu inputa radio, background nadrzędnego elementu zmienia tło. Dodatkowo kodowałem dodawanie/odejmowanie wartości inputa po kliknięciu w przycisk.
Tak czy inaczej, na przykładowym jednym elemencie to działa, jeżeli ma przypisane ID w HTML, jednak jeżeli dodaję ich więcej - kod przestaje działać, bądź działa tylko dla jednego elementu, resztę pomija. Próbowałem z klasami i metodą document.getElementsByClassName, aczkolwiek nie mogę wywołać na nich onclicka, dodatkowo nie za bardzo wiem jak je zidentyfikować, by event odbywał się dla odpowiedniego elementu.
Pierwszy kod - https://jsfiddle.net/zhvry8bb/
Założenie tego jest takie, iż tych tabelek będzie z 5-6, w każdej input i jakiś randomowy tekst. Jeżeli input radio przy nim jest zaznaczony, nadrzędny tr w tabeli zmienia style = background.
Drugi kod
<input type="text" onkeypress="walidacja()" id="test" maxlength="3" placeholder="0">
<button id="add_button" onclick="dodaj(this)">Dodaj</button>
<button id="delete_button" onclick="usun(this)">Odejmij</button>
<script type="text/javascript">
wartosc = document.getElementById("test");
product = document.getElementById("product_1");
dilejt = document.getElementById("del_offer");
function dodaj() {
if (wartosc.value < 999) {
wartosc.value++;
}
}
function usun() {
if (wartosc.value < 1) {
wartosc.value - wartosc.value++;
}
wartosc.value--;
}
function walidacja() {
if (event.keyCode < 48 || event.keyCode > 57){
event.returnValue = false;
}
}
dilejt.onclick = function() {
product.style = "display: none";
}
</script>
Tutaj również chodzi mi o możliwość dodania kilku takich pól.
Z góry dzięki za odpowiedź, pomóżcie. Przeorałem dzisiaj sporą ilość stron i nic nie zdziałałem w tym temacie. Wiem, że pokazane kody są straasznie nubskie, ale dopiero rozpoczynam swoją przygodę.