2
votes

Comment obtenir la valeur de la case à cocher en cliquant sur le bouton Soumettre?

Dans ce code, j'ai plusieurs cases à cocher, c'est-à-dire name = "recrer_id" avec plusieurs boutons d'envoi. Maintenant, que se passe-t-il lorsque je clique sur le bouton de soumission de la première ligne, cela alerte les données, mais lorsque je clique sur le bouton de soumission de la dernière ligne, cela indique un recruteur_id incorrect, je ne sais pas pourquoi? Alors, comment puis-je obtenir un bouton de soumission différent de recruteur_id en cliquant ? Aidez-moi, s'il vous plaît.

<?php
    foreach($wishlist as $row)
    {
?>
        <tr>
            <td>
                <input type="checkbox" name="recruiter_id" value="<?php echo $row['rid']; ?>" class="recruiter_id">
            </td>
            <td>
                <input type="submit" id="<?php echo $row['job_id']; ?>" class="btn btn-danger job_id" value="Assign" />
            </td>
        </tr>
<?php
    }
?>
<script>
    $(document).ready(function() {
        $(".job_id").click(function(e){
            e.preventDefault();
            job_id = this.id;
            recruiter_id = $("input[name='recruiter_id']:checked").val();
            alert(job_id);
            alert(recruiter_id);
        });
    });
</script>


4 commentaires

tout d'abord, votre bouton d'envoi doit être en dehors de la boucle for. et vous pouvez foreach ($ wishlist as $ k => $ row) et name = "recrer_id " $ (" input [name ^ = 'recruteur_id']: vérifié ") devrait faire l'affaire


Accédez d'abord au tr parent (via .parents () de jQuery, puis recherchez la case à cocher à l'intérieur de celui-ci.


Voulez-vous que tous les recruteurs_id vérifiés pendant que vous cliquez sur le bouton attribuer? pourquoi avez-vous plus de bouton de soumission? pouvez-vous s'il vous plaît expliquer plus dans votre question?


Monsieur, jetez un œil une fois que j'ai essayé d'expliquer plus @Nick


3 Réponses :


1
votes

essayez celui-ci,

<?php
foreach($wishlist as $row)
  {
?>
    <tr>
        <td>
            <input type="checkbox" name="recruiter_id" value="<?php echo $row['rid']; ?>" class="recruiter_id">
        </td>
        <td>
            <input type="submit" id="<?php echo $row['job_id']; ?>" data-val="<?php echo $row['rid']?>" class="btn btn-danger job_id" value="Assign" />
        </td>
    </tr>
 <?php
  }
 ?>
   <script>
    $(document).ready(function() {
    $(".job_id").click(function(e){
        e.preventDefault();
        job_id = this.id;
        recruiter_id = $(this).data("val");
        //$("input[name='recruiter_id']:checked").val();
        alert(job_id);
        alert(recruiter_id);
    });
});


0 commentaires

0
votes

vous pouvez essayer document.getElementById ("# yourid of checkbox"). val () il vous donnera la valeur


0 commentaires

0
votes

Tout d'abord, changez le type d'entrée en bouton au lieu de soumettre:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border=1>
  <tr>
    <td>
      <input type="checkbox" name="recruiter_id" value="1" class="recruiter_id">1
    </td>
    <td>
      <input type="button" id="1" class="btn btn-danger job_id" value="Assign" />
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="recruiter_id" value="2" class="recruiter_id">2
    </td>
    <td>
      <input type="button" id="2" class="btn btn-danger job_id" value="Assign" />
    </td>
  </tr>
  <tr>
    <td>
      <input type="checkbox" name="recruiter_id" value="3" class="recruiter_id">3
    </td>
    <td>
      <input type="button" id="3" class="btn btn-danger job_id" value="Assign" />
    </td>
  </tr>
</table>

Ensuite, à l'intérieur de l'événement click, montez au parent tr et vérifiez l'ID la case à cocher associée est cochée en utilisant .closest () et : coché comme:

$(document).ready(function() {
  $(".job_id").click(function(e) {
    e.preventDefault();

    var job_id = this.id;
    var recruiter_id = $(this).closest('tr').find("input[name='recruiter_id']:checked").val();

    console.log('job ID : ' + job_id + ' --- Recruiter ID:' + recruiter_id);
  });
});
<input type="button" id="<?php echo $row['job_id']; ?>" data-val="<?php echo $row['rid']?>" class="btn btn-danger job_id" value="Assign" />


0 commentaires