Enregistrer un tableau en object en JavaScript
Bonjour � tous,
Alors voil� ma question. En fait, je cherche � transformer un tableau de note cod� en HTML dans un objet JavaScript afin qu'il soit plus facile � manipuler, et plus pr�cis�ment � remettre en page.
Voici le tableau :
HTML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| <table class="table table-bordered bulletin">
<thead>
<tr>
<th>UE</th>
<th>Module</th>
<th>Matière</th>
<th>Evaluation</th>
<th class="coef">Coefficient</th>
<th class="resultat">Moyenne ou Note</th>
<th class="resultat">Moyenne<br/>Promo</th>
<th class="rang">Rang</th>
</tr>
</thead>
<tbody>
<tr class="ue">
<td colspan="4">UE 41 : Compléments en informatique</td>
<td class="coef">10</td>
<td class="resultat">13</td>
<td class="resultat">13,34</td>
<td class="rang">19</td>
</tr> <tr class="matiere">
<td colspan="2"></td>
<td colspan="2">M4101C-IPI : Administration système et réseau</td>
<td class="coef">1,50</td>
<td class="resultat">13</td>
<td class="resultat">13,34</td>
<td class="rang">19</td>
</tr> <tr class="evaluation">
<td colspan="3"></td>
<td>19/02/2015 : contrôle </td>
<td class="coef">1</td>
<td class="resultat">13</td>
<td class="resultat">13,34</td>
<td class="rang">19</td>
</tr>
<tr class="general">
<td colspan="4">Moyenne générale</td>
<td> </td>
<td class="resultat">13</td>
<td class="resultat">10,37</td>
<td class="rang">28</td>
</tr></tbody>
</table> |
Ce que je voudrais faire en fait, c'est par exemple faire un objet qui aurait une t�te du genre objet[ue][matiere][evaluation]. Le but � terme, serait de transformer cet objet en JSON pour pouvoir le parser facilement. Je pr�cise bien que je ne peux utiliser que JavaScript, car je me sers de Cordova pour d�velopper une application Android.
Je vous remercie bien chaleureusement par avance :)
Pas top mais bon j'aurais essay�
Salut une petite esquisse pour le reste je te laisse faire, pas sure que �a te convient :(.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
var json = [];
$('table tbody tr').each(function(){
switch($(this).attr('class')){
case 'ue' :
json['ue'] = ($(this));
break;
case 'matiere' :
json['ue']['matiere'] = $(this);
break;
case 'evaluation' :
json['ue']['matiere']['evaluation'] = $(this);
break;
}
});
console.log(json) // pour l'object
console.log(JSON.stringify(json.eu)) //pour ton object stringifier json ;) |
Vite fait pas test� mode oldschool ;)
Salut, voici un petit exemple non test� a adapt� selon tes besoins...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
var json = [];
var obj = document.getElementsByTagName('tr');
for(i in obj){
if((typeof(obj[i]) === "object") && (obj[i].getAttribute('class') !== null)){
switch(obj[i].getAttribute('class')){
case 'ue' :
json['ue'] = obj[i];
break;
case 'matiere' :
json['ue']['matiere'] = obj[i];
break;
case 'evaluation' :
json['ue']['matiere']['evaluation'] = obj[i];
break;
}
}
}
console.log(JSON.stringify(obj))
console.log(json) |
EDIT:
Pour l'iframe il faut que tu soit sur le m�me domaine a moins d'un CORS ou pass� par une API Rest pour ce qui concerne le cross domain.
Si tu maitrise JS dans ce cas pense seulement au PARENT exprim� par TOP qui est au dessus de toutes les autres c'est elle la Chef d'orchestre frameset en g�n�ral.
Partons sur l'exemple que ta frame principale frameset contient 2 frames : Frame1 et Frame2.
Frame1
Code:
1 2 3
|
top.Frame2.ma_function_action(); //ici on appel ma_function_action() qui est dans Frame2
parent.document.ma_function_action1(); // "" "" "" "" "" Frameset (principale) |
Frame2
Code:
1 2 3
|
top.Frame1.ma_function_action3(); //ici on appel ma_function_action3() qui est dans Frame1
parent.document.ma_function_action1(); // "" "" "" "" "" Frameset (principale) |
grosso modo...
gl