Bonjour à tous, j'ai procéder à l'upgrade de jQuery 1.4.4 vers 1.5 pour jouir de l'utilisation des nouveautés dans l'extension ajax.
Cependant avant de faire un remaniement de mes scripts , j'ai simplement remplacer jquery 1.4.4 par la 1.5 en gardant les mêmes scripts.
Seulement plus rien ne fonctionne
et pas d'erreur retourner
Voici un des scripts qui ne tourne plus en 1.5:
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
| function load_rel_product(){
var idcatalog = $("#idcatalog").val();
$.ajax({
url: '/admin/catalog.php?product&editproduct='+idcatalog+'&json_rel_product=true',
dataType: 'json',
type: "get",
async: true,
cache:false,
beforeSend: function(){
$('#load_rel_product').html('<img class="loader-block" src="/framework/img/square-circle.gif" />');
},
success: function(j) {
$('#load_rel_product').empty();
var tablecat = '<table id="table_rel_product" class="table-widget-product">'
+'<thead><tr style="padding:3px;" class="ui-widget ui-widget-header"><th>ID</th>'
+'<th><span class="lfloat ui-icon ui-icon-folder-open"></span>catégorie</th>'
+'<th><span class="lfloat ui-icon ui-icon-folder-collapsed"></span> sous catégorie</th>'
+'<th><span class="lfloat magix-icon magix-icon-h1"></span> Titre</th>'
+'<th><span class="lfloat ui-icon ui-icon-close"></span></th>'
+'</tr></thead>'
+'<tbody>';
tablecat += '</tbody></table>';
$(tablecat).appendTo('#load_rel_product');
if(j === undefined){
console.log(j);
}
if(j !== null){
$.each(j, function(i,item) {
if(item.slibelle != null){
subcat = item.slibelle;
}else{
subcat = '<span class="lfloat ui-icon ui-icon-minus"></span>';
}
return $('<tr><td>'+item.idrelproduct+'</td>'
+'<td class="medium-cell">'+item.clibelle+'</td>'
+'<td class="medium-cell">'+subcat+'</td>'
+'<td class="medium-cell">'+item.titlecatalog+'</td>'
+'<td class="small-icon"><a href="#" class="d-rel-product" title="'+item.idrelproduct+'"><span style="float:left;" class="ui-icon ui-icon-close"></span></td>'+
'</tr>').appendTo('#table_rel_product tbody');
});
}else{
return $('<tr><td><span class="lfloat ui-icon ui-icon-minus"></span></td><td class="medium-cell"><span class="lfloat ui-icon ui-icon-minus"></span></td><td class="medium-cell"><span class="lfloat ui-icon ui-icon-minus"></span></td><td class="medium-cell"><span class="lfloat ui-icon ui-icon-minus"></span></td><td><span class="lfloat ui-icon ui-icon-minus"></span></td></tr>').appendTo('#table_rel_product tbody');
}
}
});
} |
J'ai même pas encore pus jouer avec la nouvel API à cause de ce bug.
LE json retourner dans firebug ressemble à ceci:
[{"idrelproduct":"4","clibelle":"mes trucs","slibelle":"autre test","titlecatalog":"ma premi\u00e8re page"},{"idrelproduct":"5","clibelle":"mes trucs","slibelle":null,"titlecatalog":"ma premi\u00e8re page"}]
Je considère qu'il est bien formé puisqu'il tourne parfaitement sous la version 1.4.4.
En principe une fois le script exécuter il injecte les données dans une DIV sous forme d'un tableau simple.
Mais quand est-il de ce bug ?
EDIT: j'ai trouver la solution, en faites jquery validate 1.7 n'est pas compatible avec jQuery 1.5.
Vous devez récupérer le patch dans le github de jquery validate qui corrige ce bug très étrange.
Ce même si vous n'utiliser pas jquery validate mais que vous le charger il effectue ce comportement.
Partager