Je possède ce lien href avec le texte soit « attivo » ou « non attivo »
L'utilisateur peut définir l'élément à « actif » ou « fermé » dans la base de données avec une demande ajax .post de $()jQuery référence à (cela) ne fonctionne pas?
I ont 2 questions pour ces:
Je ne peux pas obtenir la référence à $ (cela) pour travailler .. Je l'ai essayé avec un lien normal et il fonctionne, mais pas enveloppé dans if/else ?? Comment puis-je empêcher l'utilisateur de cliquer plus d'une fois sur le lien et de soumettre plusieurs demandes? Est-ce une préoccupation valable? Ai-je besoin d'une sorte de minuterie ou autre chose?
D'abord, je pensais à un message de confirmation javascript, mais c'est assez ennuyeux pour cette fonction ..
HTML:
<dl id='album-list'>
<dt id="dt-2">some title</dt>
<dd id="dd-2">
some description<br />
<div class='links-right'>status: <a class='toggle-active' href='#'>non attivo</a></div>
</dd>
</dl>
<a class="test" href="#">test</a>
JS:
$('dd a.toggle-active').click(function() {
var a_ref = $(this);
var id = a_ref.parent().parent().attr('id').substring(3);
if (a_ref.text() == "non attivo") {
var new_active = "active"; // for db in english
$.post("ajax-aa.php", {album_id:id, album_active:new_active},
function(data) {
// alert("success");
a_ref.text("non attivo"); // change href text
});
} else {
var new_active = "closed"; // for db in english
$.post("ajax-aa.php", {album_id:id, album_active:new_active},
function(data) {
// alert("success");
a_ref.text("attivo"); // change href text
});
}
return false;
});
$('a.test').click(function() {
var a_ref = $(this);
$.post("ajax-aa.php", {album_id:2, album_active:"active"},
function(data) {
a_ref.text("changed");
});
return false;
})
Insérer 'console.log (cela)' dans certains endroits dans votre code, et regardez la console Firebug, alors vous comprendrez Qu'est-ce que ceci indique à chaque point. –
Y a-t-il une chance que votre requête Ajax échoue? La fonction de rappel est exécutée lorsque la demande aboutit. –
cela fonctionnait bien, après le succès ajaxcall j'ai remis mon texte à ce qu'il était déjà. Grr. Merci pour l'astuce sur la console et Firebug! – FFish