Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как создать нудное количество тегов таблицы (https://javascript.ru/forum/dom-window/23518-kak-sozdat-nudnoe-kolichestvo-tegov-tablicy.html)

Sadist_dead 26.11.2011 17:18

Как создать нужное количество тегов таблицы
 
Смысл такой, делаю запрос в базу обратно получаю массив
из массива выбираю три поля fam name otch

и добавляю их у уже созданную таблицу...

вот пример

<table width="100" border="0" cellspacing="10" cellpadding="10">
  <tr>
    <th scope="col" id="fam0">&nbsp;</th>
    <th scope="col" id="name0">&nbsp;</th>
       <th scope="col" id="otch0">&nbsp;</th>
  </tr>
  <tr>
    <td  id="fam1">&nbsp;</td>
    <td id="name1">&nbsp;</td>
    <td id="otch1">&nbsp;</td>
  </tr>
</table>

<script>
function clk (event) {
  var x = event.target.value;
  alert(x);
}

function clk(obj) {
  





	  var x = event.target.value;

	
	
$.ajax({
	type: "POST",
	url: "http://localhost/football/poisk.php",
	data: ({x:x}),
	dataType: 'json',
	beforesend: alert("Отправляемые данные a=" +x),
	
success: function(data){
   

   
 
           
			$.each(data, function(index,a){
    // index -> eaeie ii n?aoo iauaeo a data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty

		if(i === "name"){
		$("#name" + index).empty(a[i]);	 
			$("#name" + index).append(a[i]);
			
			
	 };// cae?uoea if
	 		if(i === "fam"){
		$("#fam" + index).empty(a[i]);	 
			$("#fam" + index).append(a[i]);
			
			
	 };// cae?uoea if
	 
	 		if(i === "otch"){
		$("#otch" + index).empty(a[i]);	 
			$("#otch" + index).append(a[i]);
			
			
	 };// cae?uoea if
			
			
	

	 
}; // cae?uoea for

         //  alert("Iiia? : "+ index+"\n\n ?cue : "+ a[i]);		 
}); // cae?uoea $.each(data, function(index,a){   

           
			
}, // cae?uoea success: function(data){
   
 
});
};
  

</script>

Как мне создать столько строк таблицы сколько у меня будет index,

Sadist_dead 26.11.2011 17:50

Цитата:

Сообщение от nasqad (Сообщение 139117)
ваш код не красивый, непонятно что вы хотите, напишите в картинках
function clk(obj) {
    var x = event.target.value;
    $.ajax({
        type: "POST",
        url: "http://localhost/football/poisk.php",
        data: ({
            x: x
        }),
        dataType: 'json',
        beforesend: alert("Отправляемые данные a=" + x),
        success: function(data) {
            $.each(data, function(index, a) {
                for (var i in a) {
                    if (i === "name") {
                        $("#name" + index).empty(a[i]);
                        $("#name" + index).append(a[i])
                    };
                    if (i === "fam") {
                        $("#fam" + index).empty(a[i]);
                        $("#fam" + index).append(a[i])
                    };
                    if (i === "otch") {
                        $("#otch" + index).empty(a[i]);
                        $("#otch" + index).append(a[i])
                    }
                }
            })
        },
    })
};

Отправляю значение первой радио группы
var x = event.target.value;

далее получаю массив из которого нахожу нужные поля
fam name otch
и присваиваю индекс
первая фамилия в массиве имеет индекс 0 вторая 1 и т д
fam0 fam1 итд
далее я помещаю все это в ячейки таблицы которые уже созданны

<table width="100" border="0" cellspacing="10" cellpadding="10">
  <tr>
    <th scope="col" id="fam0">&nbsp;</th>
    <th scope="col" id="name0">&nbsp;</th>
       <th scope="col" id="otch0">&nbsp;</th>
  </tr>
  <tr>
    <td  id="fam1">&nbsp;</td>
    <td id="name1">&nbsp;</td>
    <td id="otch1">&nbsp;</td>
  </tr>
</table>

а я хочу чтобы таблица создавалась сама с таким количеством строк
сколько у меня фамилий(индексов)

ksa 27.11.2011 12:21

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
var a=[
	{'fam': 'Иванов', 'name': 'Иван', 'otch': 'Иванович'},
	{'fam': 'Петров', 'name': 'Пётр', 'otch': 'Петрович'}
];
$(document).ready(function(){
	$("button").click(function() {
		var i;
		var str;
		for (i=0; i<a.length; i++) {
			str='<tr>';
			str+='<td>';
			str+=a[i].fam
			str+='</td>';
			str+='<td>';
			str+=a[i].name
			str+='</td>';
			str+='<td>';
			str+=a[i].otch
			str+='</td>';
			str+='</tr>';
			$('#data').append(str);
		};
	});
});
</script>
</head>
<body>
<table width="100" border="1" cellspacing="10" cellpadding="10">
	<thead>
		<tr>
			<th scope="col" id="fam0">&nbsp;</th>
			<th scope="col" id="name0">&nbsp;</th>
			<th scope="col" id="otch0">&nbsp;</th>
		</tr>
	</thead>
	<tbody id='data'>
		<tr>
			<td  id="fam1">&nbsp;</td>
			<td id="name1">&nbsp;</td>
			<td id="otch1">&nbsp;</td>
		</tr>
	</tbody>
</table>
<button>Add</button>
</body>
</html>


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