Bonjour,
je realise une tableau ou les cases sont editables et ou certaines cases lorsqu'elles sont editées proposent un edit d'autres un select. mon select doit etre actualisé à chaque fois par une requete Ajax.
la commande se fait par jquery et est la suivante
recuperation des données de la case
mise en place du select pour les cases concernées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function editcase() { $("#matable td").on('click', function(){ $("#matable td").off('click'); colonne=$(this).parent().children().index($(this)); ligne=$(this).parent().parent().children().index($(this).parent()); valinit = $(this).text(); refmysql= $("#matable tbody>tr:eq("+ligne+")>td:eq(0)").text(); tricase(); }); }
list est un tableau js généré par mon retour ajax
ma fonction transmissionselect() va chercher ma liste réactualisée dans la base et reactualise list
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function tricase() { switch (colonnemysql) { case "Ref": break; case "appt": edit ();break; case "pkg1": listeselect (tabpkg); break; default: alert ("Non editable");editcase();break; }// fin du switch }//fin de tricase function listeselect(list) { liste=list; var options=" "; for (i=0;i<=liste.length-1;i++) { options += "<option value='" +liste[i]+"' >" +liste[i]+"</option>";} var select="<select name='x" +ligne+ "' OnChange=transmissionselect(value); Onblur=transmissionselect(value); >" + options +"</select>"; $("#matable tbody>tr:eq("+ligne+")>td:eq("+colonne+")").html( select ); }
mon problème se situe dans le listselect le onchange fonctionne differemment suivant les navigateurs, a priori bien sous firefox, pas sous IE et bizarement sous Chrome et safari.
qqn aurait une idée, et y aurait il un moyen jquery pour eviter le onchange javascript
Merci par avance
Partager