2010-02-17 6 views
0

Je suis plusieurs formes énumérées par une boucle à une page, comme celui-ci: (extrait)comment sélectionner le champ d'entrée sous forme répertorié avec jquery

if(mysql_num_rows($r)>0): 
while($row = mysql_fetch_assoc($r)): ?> 
     <form id="myForm" action="save_fb.php" method="post"> 

     Title: <input type="text" name="fb_title" value="<?php echo $row['fb_title']; ?>" /><br> 

    <a href="javascript:;" class="save_fb" id="<?php echo $row['fb_id']; ?>"></a> 


     </form> 

dans ma demande ajax je fais quelque chose comme:

$.ajax({ 
    type: "POST", 
    data: $("input:text[name=fb_titel]").val()+$(this).attr("id"), 
    url: "save_fb.php", 
    success: function(msg) 
    { 
    $("span#votes_count"+the_id).fadeOut(); 
    $("span#votes_count"+the_id).html(msg); 
    $("span#votes_count"+the_id).fadeIn(); 
    } 
    }); 
}); 

maintenant je comme un résultat toujours première ligne et non la ligne où le lien a été cliqué mais le $ (ce) fonctionne très bien, mais je ne sais pas comment combiner ... Quelqu'un sait comment la ligne de données devrait ressembler?

Merci pour toute indication =)

Répondre

0

Essayez ceci:

$.ajax({ 
    type: "POST", 
    data: $(this).prev("input[name=fb_title]").val()+$(this).attr("id"), 
    url: "save_fb.php", 
    success: function(msg) 
    { 
    $("span#votes_count"+the_id).fadeOut().html(msg).fadeIn(); 
    } 
    }); 
}); 
0

Modifier la troisième ligne de votre script comme si ....

data: $(this).parent().find("input:text[name=fb_title]").val()+$(this).attr("id"), 

Votre script en cours trouve le premier instance de tout <input name="fb_title">. Si vous l'utilisez, il ne trouvera que le <input name="fb_title"> dans le même formulaire que le lien sur lequel vous avez cliqué.

+0

Remarque, je corrigeais votre mal orthographié 'fb_titel' à 'fb_title' aussi. – jessegavin

+0

merci si je l'essaie de cette façon - il renvoie 'objet' -hmm? –

0

Le PHP/HTML:

mysql_num_rows($r)>0): 
while($row = mysql_fetch_assoc($r)): ?> 
     <form id="myForm-<?php echo $row['fb_id']; ?>" action="save_fb.php" method="post"> 

     Title: <input type="text" name="fb_title" value="<?php echo $row['fb_title']; ?>" /><br> 

    <a href="javascript:;" class="save_fb" id="<?php echo $row['fb_id']; ?>"></a> 


     </form> 

Le jQuery:

var id = $(this).attr("id"); 
    $.ajax({ 
    type: "POST", 
    data: $("input:text[name=fb_titel]", "#myForm-" + id).val() + id, 
    url: "save_fb.php", 
    success: function(msg) 
    { 
    $("span#votes_count"+the_id).fadeOut(); 
    $("span#votes_count"+the_id).html(msg); 
    $("span#votes_count"+the_id).fadeIn(); 
    } 
    }); 
}); 
+0

ici, je reçois le résultat 'indéfini'? –