• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z JavaScriptem (pętla for)

Object Storage Arubacloud
0 głosów
480 wizyt
pytanie zadane 31 stycznia 2018 w JavaScript przez kingkushlee Gaduła (3,960 p.)

Witam, mam taki kod:

<i id="dodaj" class="icon-plus"></i><i id="odejmij" class="icon-minus"></i>     
           <div id="cmds"></div>        
       </form>
    </div>
    <script>
        var komendy = 0;
        $('#dodaj').click(function(){
            komendy++;
            document.getElementById("cmds").innerHTML = document.getElementById("cmds").innerHTML + '<input name="cmd'+komendy+'" placeholder="Komenda '+komendy+'" type="text" class="form-control inputW"><br /><br />';
        });
        $('#odejmij').click (function(){
            komendy--;
            document.getElementById("cmds").innerHTML = "";
            if (komendy > 0){
                for (i = 0; i == komendy; i++){
                document.getElementById("cmds").innerHTML = document.getElementById("cmds").innerHTML + '<input name="cmd'+i+'" placeholder="Komenda '+i+'" type="text" class="form-control inputW"><br /><br />';
                }                
            }
            else {
                document.getElementById("cmds").innerHTML = "";
            }
        });
    </script>

Chciałbym, żeby po wciśnięciu plusa skrypt dodawał inputa do diva, a po wciśnięciu minusa, odejmował go.Plus działa poprawnie, jednak po wciśnięciu minusa, skrypt USUWA WSZYSTKO Z DIVA a powinien usunąć tylko jednego inputa. Może mi ktoś pomóc?

1 odpowiedź

0 głosów
odpowiedź 31 stycznia 2018 przez darek_kce Gaduła (3,180 p.)

Zobacz: twój kod pętli for wygląda tak:

for (i = 0; i == komendy; i++){
        ...
}  

Jednak pętla for jako drugi element przyjmuje warunek, jeśli on jest spełniony wtedy wykona się kolejna iteracja, w twoim przypadku przed pętlą sprawdzasz czy komendy>0, a warunek w pętli dajesz 0 == komendy (bo i najpierw równa się 0), więc ani razu nie wykona się kod w pętli.

Aby to naprawić należy zmienić warunek pętli na   i<komendy  , wtedy wszystko powinno działać.

Podobne pytania

0 głosów
1 odpowiedź 1,287 wizyt
0 głosów
5 odpowiedzi 208 wizyt
pytanie zadane 17 maja 2015 w C i C++ przez serabio Nowicjusz (180 p.)
+1 głos
2 odpowiedzi 684 wizyt
pytanie zadane 27 lutego 2021 w JavaScript przez Darth Vader Początkujący (270 p.)

92,624 zapytań

141,482 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...