2
votes

Cochez le bouton radio uniquement si et quand un élément de liste déroulante est sélectionné

J'ai cette jquery pour cocher un bouton radio au chargement de la page:

<select id="talents_meta_category" name="talents_meta_category">
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463">Música</option>
</select>

Et puis j'ai une liste déroulante:

$('input[value="modelos"]').attr('checked',true);

Comment puis-je faire cocher input [value = "modelos"] uniquement si et quand est sélectionné? P >


2 commentaires

vous pouvez utiliser if condition pour le faire.


Appliquer une déclaration de condition telle que; SI cela fait ceci ......, Sinon, sinon .... Cela garantit que la condition est vérifiée avant l'exécution du code.


6 Réponses :


3
votes

Vous pouvez vérifier si une option en testant l'attribut value du select

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="talents_meta_category" name="talents_meta_category">
  <option value=""></option>
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463" selected>Música</option>
</select>
<label for="modelos"><input type="radio" name="favorites" value="modelos"></label>
<label for="modelos"><input type="radio" name="favorites" value="modelos2"></label>
  $(function(){
    if($('#talents_meta_category').val()){
      $('input[name="favorites"][value="modelos2"]').attr('checked',true);
}    
  })


0 commentaires

3
votes

Vous pouvez essayer ceci, mais j'ai dû mettre une option vide dans le menu, mais si c'est inacceptable, faites-le moi savoir et je ferai autre chose.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<select id="talents_meta_category" name="talents_meta_category">
<option></option>
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463">Música</option>
</select>

<input type="radio" value="modelos">
$("select#talents_meta_category").change(function () {
  if ($(this).val() === "tab_1495127126289") {
    $('input[value="modelos"]').attr('checked',true);
  }
});


0 commentaires

2
votes

Quelque chose comme ça devrait faire l'affaire:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type='radio' value='modelos' />
<select id="talents_meta_category" name="talents_meta_category">
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463">Música</option>
</select>
// Your check the radio on page load
$('input[value="modelos"]').attr('checked', true);

// Check if `modelos` is selected
if ($('input[value="modelos"]').prop('checked')) {
  // Add the `selected` attribute to the <option />
  $('option[value="tab_1495127126289"]').attr('selected', true);
}

J'espère que cela vous aidera,


0 commentaires

2
votes

Vous pouvez le faire de différentes manières, en voici une seule ....

var checkMe = 'tab_1495127126289';

$(function(){
    $('input[name=talents_meta_category][value=' + checkMe + ']').prop('checked',true)
});


0 commentaires

3
votes

Vous pouvez utiliser la fonction onchange.

  $("#talents_meta_category").on('change',function(){
           let value = $(this).children("option:selected").val();
          if(value=="tab_1495127126289"){
              $('input[value="modelos"]').attr('checked',true);
          }else{
       $('input[value="modelos"]').attr('checked',false);
           }
       });


0 commentaires

3
votes

Vous avez besoin d'une condition de changement avec si comme ceci:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="talents_meta_category" name="talents_meta_category">
<option value="">Please Select</option>
<option value="tab_1495127126289">Modelos</option>
<option value="tab_1495132259463">Música</option>
</select>

</br>
 <input type="checkbox" name="modelos 1" value="modelos"> modelos 1<br>
<input type="checkbox" name="modelos 2" value="modelos"> modelos 2<br>
<input type="checkbox" name="modelos 3" value="modelos"> modelos 3<br>
$("select#talents_meta_category").change(function () {
  if ($(this).val() === "tab_1495127126289") {
    $('input[value="modelos"]').attr('checked',true);
  }else{
  	  $('input[value="modelos"]').attr('checked',false);
  }
});

La case à cocher change dynamiquement en fonction de la condition (sélectionnez la valeur de l'option)


0 commentaires