Je suis nouveau à jquery, donc cela peut sembler simple, mais je ne peux pas voir l'astuce: p
J'utilise jquery 1.2.6 (et je peux ne le mettez pas à niveau: /) c'est pourquoi j'utilise le plugin livequery.
Le contexte est juste une mise à jour d'un panier dans un eshop.
Le problème est que je ne reçois pas la valeur que je veux pour "myid" dans update_it.php.
- L'exemple 1 (voir le code ci-dessous) fonctionne! L'appel est fait et j'ai obtenu la bonne valeur dans update_it.php pour "myid". Mais il est codé en dur, je veux qu'il soit générique (voir l'exemple 2).
- Avec l'exemple 2, il ne fonctionne pas :(L'alerte fonctionne, l'appel fonctionne, mais je ne reçois pas de valeur pour « myid »
Voici mon javascript:
$(document).ready(function() {
function update_it() {
$.ajax({
type: "POST",
url: "./update_it.php",
dataType: "json",
data: "myid="+$(this).val(),
success: function(msg){
$("div#cart-full").html(msg.fullcart);
$("div#cart").html(msg.mincart);
},
error : function(xhr, desc, e) {
alert("ko - " + xhr.status);
}
});
}
// Example 1
$("#mycheckbox_1").livequery("click", update_it);
// Example 2
$("input:checkbox[id^=mycheckbox_]").each(function(){
$(this).livequery("click", update_it);
});
});
Merci pour ! toute aide
qui est facultative si vous ne mettez pas de guillemets à l'intérieur fonctionne bien aussi. – Jai
Désolé, je ne vois pas où votre message a résolu mon problème. Les citations sont en effet facultatives. Je ne peux pas utiliser on() car il est ajouté dans jquery 1.7. Et j'utilise livequery parce que je ne peux pas utiliser juste click() car cela ne fonctionnera plus quand le html sera remplacé. – Pontek
@Pontek .Click() est disponible à partir de JQuery 1.0. Appelez .Bind() et .Unbind() dans la fonction après l'appel ajax pour relier le .Click() aux nouveaux objets dans le code HTML. –