Dlaczego nie wypisuje liczb z przedziału

Dlaczego nie wypisuje liczb z przedziału
  • Rejestracja: dni
  • Ostatnio: dni
0

Użytkownik ma podać 2 liczby a następnie wyświetlają mu się liczby z przedziału pomiędzy tymi dwoma liczbami. Dlaczego to nie działa ?

Kopiuj
$(document).ready(function(){


	$('#przycisk').click(function(){


	

		let x=Number($('#pole1').val());
		let y=Number($('#pole2').val());



		if(y>x){

			for(let x;x<y;x++){
				$('#wynik').HTML(x);
			}


		}

	


	});



});



cerrato
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 9018
0

Wrzuć to na http://jsfiddle.net i podeślij link.

czubeka2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 53
1

Proszę bardzo:
https://jsfiddle.net/g8q40wfa/1/

Na czym problem polegał?

Kopiuj
$('#wynik').HTML(x);

Ta metoda zastępuje aktualny kod HTML w elemencie. Kiedy używasz tego w pętli, to przy każdej iteracji zawartość elementu zostaje zastąpiona. Ty natomiast potrzebujesz dodać kolejną liczbę do aktualnego kodu HTML. Aby to zrobić, musisz pobrać aktualną wartość elementu

Kopiuj
$(element).html();

Wywołanie bez parametru zwróci aktualny kod HTML.

Zastąpiłem kod Twojej pętli w ten sposób:

Kopiuj
$('#wynik').html(`${$('#wynik').html()} ${x}`);

Nie jest to może super optymalne rozwiązanie, lecz nie chciałem wprowadzać bałaganu w Twoim kodzie.

Wskazówka numer 1:
$(element).click(callback); - ta metoda jest już przestarzała, radzę wykorzystać $(element).on('event', callback);

Wskazówka numer 2:
$(element).HTML(); - HTML nie jest metodą dla tego elementu, wielkość liter ma znaczenie, wykorzystaj $(element).html();

Edit: Aktualizacja url do fiddle

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.