1
votes

Comment obtenir dynamiquement la valeur du bouton radio

Je crée un formulaire pour rechercher un client, en utilisant soit l'identifiant soit le courriel, les deux sont définis pour être uniques. Application effectuée sur Codeignitor .

  1. J'ai créé un formulaire avec deux boutons radio, un pour rechercher avec ID et un autre pour rechercher avec mail + dob.
  2. En fonction du bouton radio sélectionné, les champs de saisie correspondants s'affichent.
  3. Dans le contrôleur, il choisit la fonction du modèle en fonction de la valeur du bouton radio.

Ceci est j'ai codé, je dois transmettre la valeur du bouton radio au fichier Controller.php

Formulaire (inclus uniquement le bouton radio )

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-4">
  <label class="radio-inline">
<input  type="radio" name="optradio" value="id" checked>Using ID </label></div>
<div class="col-md-4">
  <label class="radio-inline">
<input  type="radio" name="optradio" value="mail">Using DOB</label>
</div>
$(document).ready(function() {
  $("#usingdob").hide();
  $("#usingmail").hide();
  $("input:radio").click(function() {
    if ($(this).val() == "id") {
      $("#usingId").show();
      $("#usingdob").hide();
      $("#usingmail").hide();



    } else {
      $("#usingId").hide();
      $("#usingdob").show();
      $("#usingmail").show();
    }
  });
});

Je m'attendais à obtenir la valeur du bouton radio correctement entrez la description de l'image ici a> entrez la description de l'image ici


1 commentaires

Pour accepter une réponse, passez la souris à gauche de la réponse et cliquez sur la coche. Lorsque vous avez 15 représentants, vous pouvez voter pour les réponses, mais pour l'instant, veuillez accepter une réponse. Merci.


4 Réponses :


0
votes

<↓JS:XXX


0 commentaires

0
votes

Essayez ceci

<script type="text/javascript">

$( document ).ready(function() {
$("#usingdob, #usingmail").hide();

$('input[name="radio"]').click(function() {

    if($(this).val() == "id") {
      $("#usingId").show();
      $("#usingdob, #usingmail").hide();
    } else {
      $("#usingId").hide();
      $("#usingdob, #usingmail").show();
    }
  });
});

</script>


0 commentaires

0
votes

Une chose que j'ai remarquée est que vous avez "mail" comme valeur dans l'option DOB. Une autre est qu'il semble y avoir 3 options et pourtant vous n'avez que 2 radios?

J'ai ajusté la valeur du mail à dob et créé des div factices pour tester le code. Cela semble fonctionner.

<?php
if (isset($_POST['submit'])) {
    if(isset($_POST['optradio']))
    {
       Radio selection is :".$_POST['optradio'];  // Radio selection 
    }
?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-4">
  <label class="radio-inline">
<input  type="radio" name="optradio" value="id" checked>Using ID </label></div>
<div class="col-md-4">
  <label class="radio-inline">
<input  type="radio" name="optradio" value="dob">Using DOB</label>
</div>

<div id="usingId">
  Using Id div
</div>

<div id="usingdob">
  Using dob div
</div>

<div id="usingmail">
  Using mail div
</div>

En ce qui concerne la transmission de la valeur au contrôleur, idéalement, les entrées doivent être sous forme. Lorsque vous soumettez le formulaire, la valeur sélectionnée peut être transmise au php.

$(document).ready(function() {
  $("#usingdob").hide();
  $("#usingmail").hide();
  $("input:radio").click(function() {
    console.log($(this).val());
    if ($(this).val() == "id") {
      $("#usingId").show();
      $("#usingdob").hide();
      $("#usingmail").hide();
    } else {
      $("#usingId").hide();
      $("#usingdob").show();
      $("#usingmail").show();
    }
  });
});


0 commentaires

0
votes

Si vous voulez obtenir la valeur du bouton radio actuellement cochée, essayez la ligne ci-dessous qui retournera la valeur actuelle du bouton radio

var radioValue = $("input[name='gender']:checked").val();
if(radioValue)
{
alert("Your are a - " + radioValue); 
}


0 commentaires