2010-09-26 2 views
1
<?php foreach ($list as $item): ?> 
    <tr> 
    <td> 
    <div id="<?php echo $item['id']; ?>"> 
    <input type="text" name="name" id="name"/> 
    <button type="submit" id="ajax_submit" value="<?php echo $item['id']; ?>">run</button> 
    </div> 
    </td> 
    </tr> 
<?php endforeach; ?> 

Dans ce code PHP, je génère une table html. Lorsque l'utilisateur clique sur le bouton, ils activent ce script JQueryComment sélectionner le bouton dans JQuery

<script> 
    $(document).ready(function(){ 
    $('button').click(function(){ 
     var id = "#" + $("button").val(); 
      $.post("data/js", { name: $("#name").val(),id : id }, 
      function(data){ 
      $(id).html(data); 
     }); 
     }) 
    }); 
</script> 

Mais, quand je veux sélectionner le bouton non d'abord dans le tableau, la fonction Exécuter le script pour la première. S'il vous plaît, aidez à faire tout ce qui est normal.

PS désolé pour mon anglais ;-(

+1

Vous utilisez les ID "nom" et "ajax_submit" plusieurs fois; tu ne peux pas faire ça. Les ID doivent être uniques dans le document. – meagar

+0

Je comprends cela, mais je ne sais pas comment faire ... – NiLL

+0

http://stackoverflow.com/questions/3799228/how-select-button-in-jquery/3799264#3799264 – Stewie

Répondre

1

Essayez ceci:

<?php foreach ($list as $item): ?> 
    <tr> 
    <td> 
    <div id="<?php echo $item['id']; ?>"> 
    <input type="text" name="name" id="name"/> 
    <button type="submit" id="ajax_submit_<?php echo $item['id']; ?>" value="<?php echo $item['id']; ?>">run</button> 
    </div> 
    </td> 
    </tr> 
<?php endforeach; ?> 

..

<script> 
    $(document).ready(function(){ 
    $('button').click(function(){ 
     var id = $(this).attr('value'); 
      $.post("data/js", { name: $(this).prev().attr('name'),id : id }, 
      function(data){ 
      $(id).html(data); 
     }); 
     }) 
    }); 
</script> 
+0

GRAND MERCI !!!! travailler ensemble, j'essaie de résoudre toute cette journée =) merci merci)) – NiLL

+0

Si cela a résolu votre problème, s'il vous plaît acceptez-le (cliquez sur le ✓ à côté de la réponse). –

+0

Vous êtes les bienvenus :) En outre, j'ai remarqué que vous avez $ ('# nom'). Je suppose que vous rencontrerez un problème avec cela à l'avenir aussi .. ainsi, vous épargnant une autre question ..S'il vous plaît changer cela: $ (this) .prev(). Attr ('nom') .. (Je l'ai réparé dans mon bloc de code, ci-dessus) – Stewie

0

Vous pouvez utiliser la fonction $() jQuery pour sélectionner par ID plutôt que par élément:

<script> 
    $(document).ready(function(){ 
    $('#ajax_submit').click(function(){ 
     var id = "#" + $("#ajax_submit").val(); 
      $.post("data/js", { name: $("#name").val(),id : id }, 
      function(data){ 
      $(id).html(data); 
     }); 
     }) 
    }); 
</script> 

Note: L'id doit être .. uniques Si vous voulez choisir un autre bouton, puis donner un autre identifiant (par exemple id="second_button) et sélectionnez avec $('#second_button')

Questions connexes