Tak jak w temacie, jak mogę zrobić, aby pętla 'zapętlała' się co 1s?
0
1
setInterval()
Opis + przykład: https://www.w3schools.com/js/js_timing.asp
0
A dlaczego po takim kodzie:
setInterval(function ilosc()
{
const numer = 0;
while(numer < 15)
{
const ilosc = document.getElementById('ilosc'+numer).value;
const cenastara = document.getElementById('cenatab'+numer).innerHTML;
const cenanowa = cenastara * ilosc;
document.getElementById('cenatab'+numer).innerHTML = cenanowa;
numer++;
}
}, 2000);
Pokazuje:
TypeError: invalid assignment to const `numer'
1
const
służy do deklarowania stałych ("zmiennych", których wartości nie można modyfikować) - zamień to na let
.
0
Ok, tutaj jak to wszystko powstaje:
foreach ($odkodowana as $odkodowanyProdukt)
{
if (mb_strlen($odkodowanyProdukt) === 0)
{
continue;
}
$zapytanie = "SELECT cena FROM produkty WHERE nazwa = '".$odkodowanyProdukt."'";
$wynik = mysqli_query($connect, $zapytanie);
while ($row = $wynik->fetch_assoc())
{
$numer = 0;
echo "
<tr class='wiersz'>
<td class='rekord'>".$odkodowanyProdukt."</td>
<td><input type='text' name='ilosc' id='ilosc".$numer."' placeholder='...'/><input type='submit' name='dodajilosc' value='+' onClick='ilosc()'/></td>
<td class='rekord'><div id='cenatab".$numer."'>".$row['cena'];"</div></td>
</tr>";
$numer++;
}
}
A tu js:
setInterval(function ilosc()
{
let numer = 0;
while(numer < 15)
{
const ilosc = document.getElementById('ilosc'+numer).value;
const cenastara = document.getElementById('cenatab'+numer).innerHTML;
const cenanowa = cenastara * ilosc;
document.getElementById('cenatab'+numer).innerHTML = cenanowa;
numer++;
}
}, 2000);
0
Z tego co widzę, to odpalasz tą funkcję co 2 sekundy.