2011-06-11 3 views
0

Je soumets des données de formulaire via ajax et récupère un tableau JSON de numéros d'identification effectués. En utilisant ces numéros d'identification, je dois remplacer la case à cocher d'entrée par la valeur correspondante par un élément div contenant un message de confirmation.Remplacer les entrées en fonction des données JSON renvoyées

Mon HTML ressemble à ceci:

<input type="checkbox" name="users[]" value="26"> 
<input type="checkbox" name="users[]" value="27"> 
<input type="checkbox" name="users[]" value="28"> 

Les données renvoyées de la ajax soumettre ressemble à ceci:

["28","26"] 

Je dois remplacer les éléments d'entrée avec des valeurs correspondant à ces ids avec un div élément qui ressemble à ceci:

<div class="invited">Invited!</div> 

Répondre

0

J'aime cette façon un peu mieux:

var ids=[26,28]; 

$.each(ids,function(index, el){ 
    $("input[value='"+el+"']").replaceWith('<div class="invited">Invited!</div>') 
}); 
+0

Merci, cela fonctionne aussi, et n'a pas le même bug quand une seule valeur est soumise. – Plasticated

0
var yourArray = ['28', '26']; 

$('input[name="users[]"]').each(function(i) 
{ 
    for (var i = 0, ilen = yourArray.length; i < ilen; i++) 
    { 
     if ($(this).val() == yourArray[i]) 
     { 
      $(this).replaceWith('<div class="invited">Invited!</div>'); 
     } 
    } 
}); 
+0

Désolé pour les multiples modifications, était dans une course! :) – pixelfreak

+0

Fonctionne, bien que seulement si plus de 1 entrée est soumise. Si je ne soumets qu'une valeur, rien ne se passe. – Plasticated

+0

Ça a bien fonctionné pour moi, mais la méthode de kingjiv est nettement plus courte. – pixelfreak

Questions connexes