Bonjour à tous,
IE me cause des surprises, encore.
J'ai ce code HTML. C'est un e cellule d'un tableau qui a un autocomplete. Donc si je tape "fe", il va m'afficher tous les mots qui contient "ie", et plus j'ajoute de lettre, plus le choix diminue. Que je vois ce que je cherche, je selectionne mon choix et c'est que commence mon problème
Cette céllule a deux class :
- fmodelen
- onchange
La premiere est utilisée pour l'autocomplete
Et la deuxieme va enregistrer la nouvelle donnée que je quitte le champs. Et c'est la que mon problème contiune.
En fait, je vous explique. Si après avoir filter les possiblités donné par l'autocomplete, je ne selection pas de choix , mais j'aoute des lettres de maniere a ce qu'aucun choix existe, et que je quitte le champs, .onchange fonctionne et enregistre la nouvelle donnée. PARCONTRE, si je selectionne un nouveau choix, et que je quitte le champs, là, .onchange ne fonctionne pas.
J'ai l'impression que quand je clique sur un choix, .onchange ne fonctionne pas.
Ca fonctionne sous FF, mais pas sous IE
Voici mon code
Code JQUERY : 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 $(document).ready(function() { // Autocomplete modeles var ac_modelesn = { autoFocus: true, source: function(request, response) { $.ajax({ url: "http://www.yyyy.com/manager/templates/yyy/xmlhttprequest/autocomplete-modelesNew.php", dataType: "json", data: { term : request.term, marque : $('#0-marque').val() }, success: function(data) { response(data); } }); }, minLength: 1, select:function(event, ui){ $(this).attr('data-modeleid',ui.item.id_modele); // SERAIT-IL POSSIBLE QU'ICI ON EXECUTE LE CODE QUI EST PLUS BAS, DANS .onchnage? } }; $(".fmodelen").autocomplete(ac_modelesn); //FIN Autocomplete modele // IL SEMBLE QUE CETTE PARTIE N EST PAS EXECUTEE QUE LE // select:function(event, ui){" EST APPLIQUE, OU APPELE $('.onchange').change(function() { var idx = $(this).attr('id'); rowIdx = idx.split("-",2); rowId = rowIdx[0]; alert(rowIdx[1]); if(rowIdx[1] == "marque"){ valeur = $(this).attr('data-marqueid'); }else if(rowIdx[1] == "modele"){ valeur = $(this).attr('data-modeleid'); }else if(rowIdx[1] == "tb_batteries_id_batterie"){ valeur = $(this).attr('data-batterieid') }else{ valeur = $(this).val(); //alert('else'); } alert('else'); $.post("http://www.yyyy.com/manager/templates/yyy/xmlhttprequest/update_combinaisonNew.sql.php", { id: rowId, table: $(this).attr('data-tb'), field: $(this).attr('data-fd'), value: valeur }, function(data){ $('#resultat').html(data); $("#resultat").dialog({ open: function( event, ui ) { setTimeout(function(){$("#resultat").dialog( "close" );},700) }, height: 100, width : 'auto', title: "Confirmation" }); } ); alert('else222'); }); )};
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... <td> <span class="ui-helper-hidden-accessible" role="status" aria-live="polite"></span> <input id="4-modele" class="fmodelen onchange ui-autocomplete-input" type="text" data-modeleid="24" data-fd="tb_modeles_id_modele" data-tb="tb_combinaisons" value="100" style="width:80px;" autocomplete="off"> </td>
Pourquoi donc, cette fonction
$('.onchange').change(function() {}ne fonction pas sous IE quand select:function(event, ui){} est executé?
Milles mercis pour vos lumières!!
Partager