11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je créé actuellement un programme pour faire des tableaux dynamiquement.

Pour ce faire j'utilise une requete ajax qui me retourne les lignes d'un tableau que j'insère ensuite dans différents conteneurs.

Sur le success de ma requete ajax je fais ceci:


$(contenu).find('input#test').appendTo('#');[confused]


Et le problème, je pense c'est que j'ai trop de lignes retournées dans mon contenu du coup, la methode find m'affiche cette erreur:
script stack space quota is exhausted
Smiley biggol

Si quelqu'un a une idée pour éviter cette erreur ou tout simplement m'aider, je lui en serai reconnaissante.

Cordialement

Missa
Modifié par missatorito (13 Oct 2010 - 15:15)
Bonjour,

le pb avec le json c'est que tu ne peux pas dire:
- dans ma première colonne j'ai une checkbox
- dans ma seconde j'ai une checkbox + un input
- dans ma troisième, une liste déroulante.

J'y avais pensé mais je ne vois pas comment je peux l'appliquer. Smiley biggol

Si tu as une petite idée Smiley smile

Merci pour ton aide
Bien sûr que tu peux remplir tes zones de contenu comme tu l'entends.

Petit exemple (j'ai mis des tables, mais tu peux remplir des divs, hein)

Index.php
<html>
<head>
	<title>Json</title>
	<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
	</script>
</head>
<body>
	<a href="#" id="dataload">Json load</a>
	<table id="clients" >
		<thead>
			<th>Prenom</th>
			<th>Nom</th>
			<th>Email</th>
		</thead>
		<tbody></tbody>
	</table>
	<table id="articles" >
		<thead>
			<th>Article</th>
			<th>En stock</th>
			<th>Prix</th>
		</thead>
		<tbody></tbody>
	</table>
	<script>
	$(function(){
	});
	$("#dataload").click(function(){
		$.getJSON(
			"jsondata.php",
			function(data){
				$.each(data.clients, function(i,user){
					var tblRow =
						"<tr>"
						+"<td>"+user.first+"</td>"
						+"<td>"+user.last+"</td>"
						+"<td>"+user.email+"</td>"
					
						+"</tr>"
					$(tblRow).appendTo("#clients tbody");
				})
				$.each(data.stock, function(i,user){
					var tblRow =
						"<tr>"
						+"<td>"+user.article+"</td>"
						+"<td>"+user.quantity+"</td>"
						+"<td>"+user.price+"</td>"
						+"</tr>"
					$(tblRow).appendTo("#articles tbody");
				});
			}
		);
	});
	</script>
</body>
</html>

jsondata.php
<?php
    $json = '{
        "clients": [
            {
                "first":"Johny",
                "last":"Bigou",
                "email":"jb@provider.fr"
            },
            {
                "first":"Eric",
                "last":"Dupont",
                "email":"ed@provider.fr"
            },
            {
                "first":"Max",
                "last":"Lamenass",
                "email":"ml@provider.fr",
            },
            {
                "first":"Angus",
                "last":"McGyver",
                "email":"amg@proviser.fr",
            }
        ],
        "stock": [
            {
                "article":"Pommes",
                "quantity":"100",
                "price":"5",
            },
            {
                "article":"Poires",
                "quantity":"300",
                "price":"3",
            },
            {
                "article":"Kiwis",
                "quantity":"50",
                "price":"10",
            },
            {
                "article":"Litchis",
                "quantity":"150",
                "price":"10",
            }
            
        ]
    }';
    echo $json;
?>