Réponses:
À l'aide du sélecteur d'attribut, vous pouvez sélectionner l'élément d'entrée avec la valeur correspondante. Ensuite, vous devez définir l'attribut explicitement, en utilisant .attr
:
var value = 5;
$("input[name=mygroup][value=" + value + "]").attr('checked', 'checked');
Depuis jQuery 1.6, vous pouvez également utiliser la .prop
méthode avec une valeur booléenne (cela devrait être la méthode préférée):
$("input[name=mygroup][value=" + value + "]").prop('checked', true);
N'oubliez pas que vous devez d'abord supprimer l'attribut coché de l'un des boutons radio sous un groupe de boutons radio uniquement, puis vous pourrez ajouter une propriété / attribut vérifié à l'un des boutons radio de ce groupe de boutons radio.
Code pour supprimer l'attribut coché de tous les boutons radio d'un groupe de boutons radio -
$('[name="radioSelectionName"]').removeAttr('checked');
.is
pas ici, mais je suis d'accord avec .prop
. Il n'était pas disponible à l'époque;) Mettra à jour ma réponse. Merci!
.val()
prend en charge la définition de valeurs sur des groupes de radio ou de cases à cocher. La manière de cette réponse fonctionne techniquement, mais elle est détournée et beaucoup moins lisible / mémorable.
Il existe une meilleure façon de vérifier les radios et les cases à cocher; vous devez passer un tableau de valeurs à la méthode val au lieu d'une valeur brute
Remarque: Si vous transmettez simplement la valeur par elle-même (sans être dans un tableau ), toutes les valeurs de "mygroup" seront définies sur la valeur.
$("input[name=mygroup]").val([5]);
Voici la documentation jQuery qui explique son fonctionnement: http://api.jquery.com/val/#val-value
Et .val([...])
travaille aussi avec des éléments de forme tels que <input type="checkbox">
, <input type="radio">
et <option>
s à l' intérieur d'un <select>
.
Les entrées et les options ayant une valeur qui correspond à l'un des éléments du tableau seront vérifiées ou sélectionnées, tandis que celles ayant une valeur qui ne correspond pas à l'un des éléments du tableau seront décochées ou désélectionnées
Fiddle démontrant ce fonctionnement: https://jsfiddle.net/92nekvp3/
Lorsque vous modifiez la valeur d'attribut comme mentionné ci-dessus, l' change
événement n'est pas déclenché, donc si nécessaire, pour certaines raisons, vous pouvez le déclencher comme tel
$('input[name=video_radio][value="' + r.data.video_radio + '"]')
.prop('checked', true)
.trigger('change');
$("input[name='RadioTest'][value='2']").prop('checked', true);
var key = "Name_radio";
var val = "value_radio";
var rdo = $('*[name="' + key + '"]');
if (rdo.attr('type') == "radio") {
$.each(rdo, function (keyT, valT){
if ((valT.value == $.trim(val)) && ($.trim(val) != '') && ($.trim(val) != null))
{
$('*[name="' + key + '"][value="' + (val) + '"]').prop('checked', true);
}
})
}
$('input[name="mygroup"]').val([5])