Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Многомерный массив как вывести данные на страничку (https://javascript.ru/forum/misc/20598-mnogomernyjj-massiv-kak-vyvesti-dannye-na-stranichku.html)

Sadist_dead 10.08.2011 22:54

что то с циклами перемудрил
 
что то с циклами перемудрил
:write:

Sadist_dead 11.08.2011 13:27

Все заработало Огромное Спасибо.!
 
Все заработало Огромное Спасибо.

Скажите пожалуйста а как в цикле очищать див если в нем есть значение?

devote 11.08.2011 13:31

$('#mydiv').empty();

Sadist_dead 11.08.2011 13:43

Спасибо помогло
 
Если вдруг интересно вот что получилось
$.ajax({
	type: "POST",
	url: "http://localhost/dnevnik/test.php",
	data: ({a:a,b:b}),
	dataType: 'json',
	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b),
	success: function(data){
   
 
           
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			$("#Id_p" + index).empty(a[i]);

			$("#Id_p" + index).append(a[i]);
			
			 if(i === "id_dz"){
			$("#Id_dz" + index).empty(a[i]);	 
			$("#id_dz" + index).append(a[i]);


из нашего массива date формируем индивидуальный id для каждого значения и выгружаем их в разные дивы :)))
Хреново только что очищает если данные приходят из php
а вот если не приходят то оставляет

devote 11.08.2011 14:10

complete: function() {
    // тут чисти если ничего не пришло
}
Но помни эта функция вызывается в любом случае, даже если что-то пришло или не пришло. Так что надо проверять.

Sadist_dead 11.08.2011 15:37

Подскажи пожалуйста где у меня тут ошибка ни как не пойму
 
Цитата:

Сообщение от devote (Сообщение 119765)
complete: function() {
    // тут чисти если ничего не пришло
}
Но помни эта функция вызывается в любом случае, даже если что-то пришло или не пришло. Так что надо проверять.

Есть скрипт все работает :

script type="text/javascript">
$(function(){
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
alert(dateText);

$("#datepicker").click(function(){


	var a = $("#datepicker").val();
	var b = <?php  echo $myrow['id_user']; ?>
	
$.ajax({
	type: "POST",
	url: "http://localhost/dnevnik/test.php",
	data: ({a:a,b:b}),
	dataType: 'json',
	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b),
	

	success: function(data){
   
 
           
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			$("#Id_p" + index).empty(a[i]);

			$("#Id_p" + index).append(a[i]);
		};
		if(i === "id_dz"){
			$("#id_dz" + index).empty(a[i]);	 
			$("#id_dz" + index).append(a[i]);
		};
		if(i === "ocenka"){
			$("#ocenka" + index).empty(a[i]);	 
			$("#ocenka" + index).append(a[i]);
		


		
         //  alert("Номер : "+ index+"\n\n Язык : "+ a[i]);
	
        
		 
    };
	};
});

Теперь хочу сделать чтобы по клику у меня сначала все данные удалялись....

script type="text/javascript">
$(function(){
$("#datepicker").datepicker({
onSelect: function(dateText, inst) {
alert(dateText);

$("#datepicker").click(function(){
complete: function() {
    // тут чисти если ничего не пришло
$("#Id_p0").empty();------------------вставил эту строчку и сразу все перестает работать
}


	var a = $("#datepicker").val();
	var b = <?php  echo $myrow['id_user']; ?>
	
$.ajax({
	type: "POST",
	url: "http://localhost/dnevnik/test.php",
	data: ({a:a,b:b}),
	dataType: 'json',
	beforesend: alert("Отправляемые данные  a=" +a+ "b="+b),
	

	success: function(data){
   
 
           
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			$("#Id_p" + index).empty(a[i]);

			$("#Id_p" + index).append(a[i]);
		};
		if(i === "id_dz"){
			$("#id_dz" + index).empty(a[i]);	 
			$("#id_dz" + index).append(a[i]);
		};
		if(i === "ocenka"){
			$("#ocenka" + index).empty(a[i]);	 
			$("#ocenka" + index).append(a[i]);
		


		
         //  alert("Номер : "+ index+"\n\n Язык : "+ a[i]);
	
        
		 
    };
	};
});

devote 11.08.2011 15:41

ну ты смешной, встявлять ее надо не туда куда ты ее вставил:

$.ajax({
   ....
   ....
   success: function( data ) {
      ....
      ....
      ....
   },
   complete: function() {
      // выполниться после вызова success
   }
});

Sadist_dead 12.08.2011 14:54

Спасибо помогло
 
но вообщем я все ровно не смог сделать правильное условие

пришлось сделать так: У меня выборка по дате шла ( календарь ) я вообщем засунул календарь в див а на див повесил onclick поэтому у меня сначала все поля обнуляются а потом туда приходит из базы если если есть чему приходить. Это не слишком убого ?

function c() {
           $("#Id_p0").empty();
		    $("#Id_p1").empty();
			 $("#Id_p2").empty();
 $("#id_dz0").empty();
   $("#id_dz1").empty();
    $("#id_dz2").empty();
	  $("#ocenka0").empty();
	   $("#ocenka1").empty();
	    $("#ocenka2").empty();
	
  }

devote 12.08.2011 14:59

function c() {
   $("div[id^=Id_p], div[id^=id_dz], div[id^=ocenka]").empty();
}

melky 12.08.2011 15:08

Цитата:

Сообщение от devote (Сообщение 120037)
function c() {
   $("div[id^=Id_p]").empty();
   $("div[id^=id_dz]").empty();
   $("div[id^=ocenka]").empty();
}

тоже некрасиво.

можно так

function c() {
   $("div[id^=Id_p], div[id^=id_dz], div[id^=ocenka]").empty();
}


но это мне кажется медленным .. каждый раз будут браться все дивы и искаться именно те, у которых атрибут бла бла.

хотя.. кому какая разница? nobody cares


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