Dlaczego nie wypisuje liczb z przedziału

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 ?

$(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);
			}


		}

	


	});



});



0

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

1

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

Na czym problem polegał?

$('#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

$(element).html();

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

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

$('#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

1 użytkowników online, w tym zalogowanych: 0, gości: 1