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

Problem z ginącymi danymi po zmianie zawartości diva

Object Storage Arubacloud
0 głosów
103 wizyt
pytanie zadane 18 września 2016 w JavaScript przez gladius882 Początkujący (450 p.)

Witam wszystkich :)

Może ktoś wie co jest nie tak z tym kodem?

function getUsers()
{
	$.ajax({
		type:"GET",
		url:"pobierz.php",
		contentType:"application/json; charset=utf-8",
		dataType:'json',
		             
		success: function(json) { 
		                    
		document.getElementById("lista").innerHTML = '<strong>Osoby online:</strong>
			 <span class="actions" id="RefreshUsers">Odśwież</span><br/>';
		for (var klucz in json)
		{
			var wiersz = json[klucz];     
			var login = wiersz[1];
		                             
			$("<span class=user>"+login+"</span>")
			.appendTo('#lista')
			.append("<br/>")
			} 
		},
		                 		                 
		error: function(blad) {
		alert( "Wystąpił błąd");
		console.log(blad);
		}
	});
}

$(document).ready(
function()
{
	$("#RefreshUsers").click(
	function()
	{
		getUsers();
	});

	getUsers();
});

Niby wszystko działa, ale jak zmienię zawartość diva za pomocą innerHTML to potem funkcja nie dołącza do niego danych z bazy. Zanim to dodałem wszystko było w porządku, a teraz w divie pojawia się tylko i wyłącznie to co podam jako innerHTML a wszystkie dane, które miały być dołączone gdzieś giną.

Pozdrawiam

2 odpowiedzi

+1 głos
odpowiedź 18 września 2016 przez Comandeer Guru (601,550 p.)
wybrane 18 września 2016 przez gladius882
 
Najlepsza

Bo usuwasz przycisk (no właśnie, to powinien być button a nie span) i zastępujesz identycznym, ale nowym! Stąd musiałbyś albo na nowo przypiąć event, albo zastosować event delegation.

0 głosów
odpowiedź 18 września 2016 przez gladius882 Początkujący (450 p.)

Dziękuję za szybką odpowiedź smiley

Skrypt po drobnych modyfikacjach działa bez zarzutu. To co wcześniej wstawiałem wcześniej jako innerHTML wpisałem na sztywno do diva i stworzyłem wewnątrz niego kolejnego diva, który zawiera tylko i wyłącznie dane z bazy. Za każdym wywołaniem funkcji jest czyszczony żeby było miejsce dla odświeżonych danych.

 

Podobne pytania

+2 głosów
2 odpowiedzi 260 wizyt
pytanie zadane 23 marca 2021 w JavaScript przez dee Początkujący (360 p.)
0 głosów
1 odpowiedź 112 wizyt
pytanie zadane 19 stycznia 2019 w JavaScript przez tomek2323 Bywalec (2,050 p.)
+1 głos
0 odpowiedzi 250 wizyt
pytanie zadane 18 września 2016 w JavaScript przez MaciekM Użytkownik (990 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...