Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   append не работает (https://javascript.ru/forum/jquery/40236-append-ne-rabotaet.html)

Sveta 29.07.2013 11:25

append не работает
 
Доброго дня всем)
Подскажите пожалуйста. Есть код:
function getJsonMessage(){ 
		$('#jsonMessage').empty();
		var txt_message="hhhhh";
		var dataRef="data_m1.json"; 	
		$.getJSON(dataRef, function (myJson) {
			  for(var i=0; i<myJson.Data_Message.length; i++){
				txt_message=myJson.Data_Message[i];
				$('#jsonMessage').append(txt_message);
			  }
		}).error(function() { txt_message="файл не получен"; $('#jsonMessage').append(txt_message);});
	}

Проблема в строке: txt_message=myJson.Data_Message[i]; так как если я пишу txt_message=i; то в итоге в диве появляется:hhhhh012 то есть все присваивается и добавляется.
Что меня удивляет, что в случае txt_message=myJson.Data_Message[i]; alert(txt_message); выводит "Сообщение 1" - то что и должно добавиться в див, но не добавляет это - в диве hhhhh! В чем может быть дело?
У меня есть предположение: что проблемма в форматах, наверно myJson.Data_Message[i] возвращает не строку а объект? я пыталась преобразовать с помощью toString но не работает...может не правильно преобразовала или дело не в этом вообще?

Sveta 29.07.2013 11:45

Проблема решилась
txt_message=""+myJson.Data_Message[i];
как-то не красиво решилась, наверно дело действительно в форматах при присваивании...если кто-нибудь понимает в чем тут дело - напишите, или киньте ссыль с информацией. Буду благодарна. Хотелось бы решить проблемму более грамотно.

рони 29.07.2013 11:54

Цитата:

Сообщение от Sveta
append

если у вас техт то

function getJsonMessage(){
		$('#jsonMessage').empty();
		var txt_message="hhhhh";
		var dataRef="data_m1.json";
		$.getJSON(dataRef, function (myJson) {
		txt_message="";	  
          for(var i=0; i<myJson.Data_Message.length; i++){
		txt_message+=myJson.Data_Message[i];
			  }
          $('#jsonMessage').html(txt_message);
		}).error(function() { txt_message="файл не получен"; $('#jsonMessage').append(txt_message);});
	}


Часовой пояс GMT +3, время: 09:28.