Bonjour,
Je tourne autour du pot depuis maintenant 4h, je suis à deux doigt de me jeter par la fenêtre.
Voici mon problème qui est très étrange, j'ai un champs sur lequel j'applique l'autocomplétion de jquery ui. Dans mon script lorsque mon utilisateur sélectionnne une puce de liste, je génère un input hidden pour y stocker une valeur (je ne vous explique pas pourquoi, ca n'a aucun intérêt).
Voici mon code javascript/jquery/jquery ui
J'ai pris la partie qui pose problème.
Enfaite le input hidden générer ne prend aucune valeur, pourtant elle devrai prendre celle de ui.item.id
ui.item.id n'est pas vide.... (test avec un alert)
Lorsque je fais un alert de la variable span :
J'obtiens ca :
Le résultat est celui que j'attends, l'input hidden à pris la valeur "mon id".
Lorsque je fais insertBefore, je sais pas pourquoi ce input idden se retrouve sans valeur dans le code html de la page...
C'est vraiment frustrant de bloquer sur une chose pareil
, je vais finir par croire que c'est un bug de jquery...
Merci d'avance pour votre aide.
Modifié par ggouhier (06 Sep 2010 - 20:01)
Je tourne autour du pot depuis maintenant 4h, je suis à deux doigt de me jeter par la fenêtre.
Voici mon problème qui est très étrange, j'ai un champs sur lequel j'applique l'autocomplétion de jquery ui. Dans mon script lorsque mon utilisateur sélectionnne une puce de liste, je génère un input hidden pour y stocker une valeur (je ne vous explique pas pourquoi, ca n'a aucun intérêt).
Voici mon code javascript/jquery/jquery ui
$(document).ready(function() {
$("#to").autocomplete({
source: function(req, add){
$.getJSON("http://localhost/talkit/public/inbox/json?callback=?", req, function(data) {
add($.map(data, function(item) {
return {
label: item.name,
value: item.name,
id: item.id
}
}))
});
},
select: function(e, ui) {
//create formatted friend
var span = $("<span class='ui-state-default'>").text(ui.item.value),
a = $("<a>").addClass("remove").attr({
href: "javascript:",
title: "Supprimer " + ui.item.value
}).text('x').appendTo(span),
input = $("<input>").addClass("id").attr({
type: "hidden",
name: "to",
value: ui.item.id
}).appendTo(span);
//add friend to friend div
span.insertBefore("#to");
}
});
J'ai pris la partie qui pose problème.
Enfaite le input hidden générer ne prend aucune valeur, pourtant elle devrai prendre celle de ui.item.id
ui.item.id n'est pas vide.... (test avec un alert)
Lorsque je fais un alert de la variable span :
alert(span.html());
J'obtiens ca :
a écrit :
Ma valeur<a title="Supprimer Ghislain de Fontenay" href="javascript:" class="remove">x</a><input value="mon id" name="to" class="id" type="hidden">
Le résultat est celui que j'attends, l'input hidden à pris la valeur "mon id".
Lorsque je fais insertBefore, je sais pas pourquoi ce input idden se retrouve sans valeur dans le code html de la page...
C'est vraiment frustrant de bloquer sur une chose pareil


Merci d'avance pour votre aide.
Modifié par ggouhier (06 Sep 2010 - 20:01)