J'essaie de vérifier un bouton radio avec jQuery. Voici mon code:
<form>
<div id='type'>
<input type='radio' id='radio_1' name='type' value='1' />
<input type='radio' id='radio_2' name='type' value='2' />
<input type='radio' id='radio_3' name='type' value='3' />
</div>
</form>
Et le JavaScript:
jQuery("#radio_1").attr('checked', true);
Ne fonctionne pas:
jQuery("input[value='1']").attr('checked', true);
Ne fonctionne pas:
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);
Ne fonctionne pas:
Avez-vous une autre idée? Qu'est-ce que je rate?
Pour les versions de jQuery égales ou supérieures à (> =) 1.6, utilisez:
$("#radio_1").prop("checked", true);
Pour les versions antérieures à (<) 1.6, utilisez:
$("#radio_1").attr('checked', 'checked');
Conseil: Vous pouvez également appeler par la suite les fonctions click()
ou change()
du bouton radio. Voir les commentaires pour plus d'informations.
Essaye ça.
Dans cet exemple, je le cible avec son nom d'entrée et sa valeur
$("input[name=background][value='some value']").prop("checked",true);
Bon à savoir: en cas de valeur multi-mots, cela fonctionnera aussi à cause des apostrophes.
Une autre fonction prop () ajoutée dans jQuery 1.6, servant le même objectif.
$("#radio_1").prop("checked", true);
Option courte et facile à lire:
$("#radio_1").is(":checked")
Il renvoie true ou false, vous pouvez donc l'utiliser dans la déclaration "if".
Essaye ça.
Pour vérifier le bouton radio à l’aide deValeur, utilisez ceci.
$('input[name=type][value=2]').attr('checked', true);
Ou
$('input[name=type][value=2]').attr('checked', 'checked');
Ou
$('input[name=type][value=2]').prop('checked', 'checked');
Pour vérifier le bouton radio à l’aide deID, utilisez ceci.
$('#radio_1').attr('checked','checked');
Ou
$('#radio_1').prop('checked','checked');
La méthode $.prop
est meilleure:
$(document).ready(function () {
$("#radio_1").prop('checked', true);
});
et vous pouvez le tester comme suit:
$(document).ready(function () {
$("#radio_1, #radio_2", "#radio_3").change(function () {
if ($("#radio_1").is(":checked")) {
$('#div1').show();
}
else if ($("#radio_2").is(":checked")) {
$('#div2').show();
}
else
$('#div3').show();
});
});
Tu dois faire
jQuery("#radio_1").attr('checked', 'checked');
C'est l'attribut HTML
Oui, cela a fonctionné pour moi comme un moyen:
$("#radio_1").attr('checked', 'checked');
Si la propriété name
ne fonctionne pas, n'oubliez pas que id
existe toujours. Cette réponse s’adresse aux personnes qui souhaitent cibler la id
ici.
$('input[id=element_id][value=element_value]').prop("checked",true);
Parce que la propriété name
ne fonctionne pas pour moi. Assurez-vous de ne pas entourer id
et name
de citations doubles/simples.
À votre santé!
Nous devrions vouloir dire que c’est un bouton radio
.Veuillez essayer avec le code suivant.
$("input[type='radio'][name='userRadionButtonName']").prop('checked', true);
Juste au cas où quelqu'un essaierait d'y parvenir en utilisant l'interface utilisateur de jQuery, vous devrez également actualiser l'objet de case à cocher de l'interface utilisateur pour refléter la valeur mise à jour:
$("#option2").prop("checked", true); // Check id option2
$("input[name='radio_options']").button("refresh"); // Refresh button set
$("input[name=inputname]:radio").click(function() {
if($(this).attr("value")=="yes") {
$(".inputclassname").show();
}
if($(this).attr("value")=="no") {
$(".inputclassname").hide();
}
});
Essaye ça
var isChecked = $("#radio_1")[0].checked;
Essayez ceci avec exemple
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="radio" name="radio" value="first"/> 1 <br/>
<input type="radio" name="radio" value="second"/> 2 <br/>
</form>
<script>
$(document).ready(function () {
$('#myForm').on('click', function () {
var value = $("[name=radio]:checked").val();
alert(value);
})
});
</script>
Obtenez de la valeur:
$("[name='type'][checked]").attr("value");
Définir la valeur:
$(this).attr({"checked":true}).prop({"checked":true});
Bouton radio cliquez sur ajouter attr sélectionné
$("[name='type']").click(function(){
$("[name='type']").removeAttr("checked");
$(this).attr({"checked":true}).prop({"checked":true});
});
Essaye ça
$(document).ready(function(){
$("input[name='type']:radio").change(function(){
if($(this).val() == '1')
{
// do something
}
else if($(this).val() == '2')
{
// do something
}
else if($(this).val() == '3')
{
// do something
}
});
});
J'ai quelques exemples connexes à améliorer, que diriez-vous si je veux ajouter une nouvelle condition, disons, si je veux que le jeu de couleurs soit masqué après que je clique sur la valeur d'état du projet, à l'exception des Pavés et Pavés.
L'exemple est ici:
$(function () {
$('#CostAnalysis input[type=radio]').click(function () {
var value = $(this).val();
if (value == "Supply & Lay") {
$('#ul-suplay').empty();
$('#ul-suplay').append('<fieldset data-role="controlgroup"> \
Je suis désolé pour l'anglais.
var $j = jQuery.noConflict();
$j(function() {
// add handler
$j('#radio-1, #radio-2').click(function(){
// find all checked and cancel checked
$j('input:radio:checked').prop('checked', false);
// this radio add cheked
$j(this).prop('checked', true);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="section">
<legend>Radio buttons</legend>
<label>
<input type="radio" id="radio-1" checked>
Option one is this and that—be sure to include why it's great
</label>
<br>
<label>
<input type="radio" id="radio-2">
Option two can be something else
</label>
</fieldset>
function rbcitiSelction(e) {
debugger
$('#trpersonalemail').hide();
$('#trcitiemail').show();
}
function rbpersSelction(e) {
var personalEmail = $(e).val();
$('#trpersonalemail').show();
$('#trcitiemail').hide();
}
$(function() {
$("#citiEmail").prop("checked", true)
});
Certaines fois, les solutions ci-dessus ne fonctionnent pas, alors vous pouvez essayer ci-dessous:
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',true));
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',false));
Une autre façon d'essayer est:
jQuery("input:radio[name=yourElementName]:nth(0)").attr('checked',true);
Je viens d'avoir un problème similaire, une solution simple consiste simplement à utiliser:
.click()
Toute autre solution fonctionnera si vous actualisez la radio après avoir appelé la fonction.
essaye ça
$("input:checked", "#radioButton").val()
si coché renvoie True
si non coché renvoie False
jQuery v1.10.1
J'ai utilisé jquery-1.11.3.js
Activer et désactiver basique
Astuces 1: (type de bouton radio commun désactiver et activer)
$("input[type=radio]").attr('disabled', false);
$("input[type=radio]").attr('disabled', true);
Astuces 2: (sélecteur d’ID avec prop () ou attr ())
$("#paytmradio").prop("checked", true);
$("#sbiradio").prop("checked", false);
jQuery("#paytmradio").attr('checked', 'checked'); // or true this won't work
jQuery("#sbiradio").attr('checked', false);
Astuces 3: (sélecteur de classe utilisant prop () ou arrt ())
$(".paytm").prop("checked", true);
$(".sbi").prop("checked", false);
jQuery(".paytm").attr('checked', 'checked'); // or true
jQuery(".sbi").attr('checked', false);
AUTRES CONSEILS
$("#paytmradio").is(":checked") // Checking is checked or not
$(':radio:not(:checked)').attr('disabled', true); // All not check radio button disabled
$('input[name=payment_type][value=1]').attr('checked', 'checked'); //input type via checked
$("input:checked", "#paytmradio").val() // get the checked value
index.html
<div class="col-md-6">
<label class="control-label" for="paymenttype">Payment Type <span style="color:red">*</span></label>
<div id="paymenttype" class="form-group" style="padding-top: inherit;">
<label class="radio-inline" class="form-control"><input type="radio" id="paytmradio" class="paytm" name="paymenttype" value="1" onclick="document.getElementById('paymentFrm').action='paytmTest.php';">PayTM</label>
<label class="radio-inline" class="form-control"><input type="radio" id="sbiradio" class="sbi" name="paymenttype" value="2" onclick="document.getElementById('paymentFrm').action='sbiTest.php';">SBI ePAY</label>
</div>
</div>
Si vous ne souhaitez pas inclure une grande bibliothèque comme jQuery pour quelque chose d'aussi simple, voici une solution alternative utilisant des méthodes DOM intégrées:
// Check checkbox by id:
document.querySelector('#radio_1').checked = true;
// Check checkbox by value:
document.querySelector('#type > [value="1"]').checked = true;
// If this is the only input with a value of 1 on the page, you can leave out the #type >
document.querySelector('[value="1"]').checked = true;
<form>
<div id='type'>
<input type='radio' id='radio_1' name='type' value='1' />
<input type='radio' id='radio_2' name='type' value='2' />
<input type='radio' id='radio_3' name='type' value='3' />
</div>
</form>
En outre, vous pouvez vérifier si l'élément est coché ou non:
if ($('.myCheckbox').attr('checked'))
{
//do others stuff
}
else
{
//do others stuff
}
Vous pouvez cocher l'élément non coché:
$('.myCheckbox').attr('checked',true) //Standards way
Vous pouvez aussi décocher cette case:
$('.myCheckbox').removeAttr('checked')
Vous pouvez cocher le bouton radio:
Pour les versions de jQuery égales ou supérieures à (> =) 1.6, utilisez:
$("#radio_1").prop("checked", true);
Pour les versions antérieures à (<) 1.6, utilisez:
$("#radio_1").attr('checked', 'checked');
attr
accepte deux chaînes.
La manière correcte est:
jQuery("#radio_1").attr('checked', 'true');
Essaye ça:
$(document).ready(function(){
$("#Id").prop("checked", true).checkboxradio('refresh');
});
$("#radio_1").attr('checked', true);
//or
$("#radio_1").attr('checked', 'checked');
Étonnamment, la réponse la plus populaire et la plus acceptée ne prend pas en compte le déclenchement d'un événement approprié malgré les commentaires. Assurez-vous d'appeler .change()
, sinon toutes les liaisons "à la modification" ignoreront cet événement.
$("#radio_1").prop("checked", true).change();
attr accepte deux chaînes.
La manière correcte est:
jQuery("#radio_1").attr('checked', 'true');