2011-04-26 2 views
5
<input type="radio" value="True" propertyname="AmortizationTermInYears" onchange="showAmortizationTermInYears();UpdateField(this);" name="AmortizationTermInYears" id="AmortizationTermInYears" amortizationterminyearsradio="true"> 

<input type="radio" value="False" propertyname="AmortizationTermInYears" onchange="showAmortizationTermInYears();UpdateField(this);" name="AmortizationTermInYears" id="AmortizationTermInYears" checked="checked"> 

Comment puis-je sélectionner l'un de ces boutons radio avec Jquery lors du chargement de la page?sélectionner un bouton radio avec jquery

Merci!

+2

qu'est-ce que vous essayez exactement de faire? lequel voulez-vous sélectionner? Pourquoi ont-ils le même identifiant? les choses ne devraient jamais avoir le même id! – Patricia

+0

Je pense qu'ils ont la même idée en raison de la méthode d'extension HTML Helper, mais je veux vérifier celui qui a la "vraie" valeur – slandau

Répondre

10
$('input[name=AmortizationTermInYears]:nth(0)').prop("checked","checked"); 
+1

Appeler ce code ne fonctionne qu'une seule fois. Si vous appelez cela, l'utilisateur en vérifie un autre, si vous l'appelez la deuxième fois, cela ne fonctionnera pas. –

+0

L'utilisation de attr au lieu de prop aurait pu fonctionner au moment de la publication de la réponse ci-dessus. Mais ce n'est plus correct. Recherchez la bonne réponse fournie par Serj Sagan. – Martin

+0

changé .attr à .prop – Khodor

1
$('input[name=AmortizationTermInYears]'); 

ou

$('input[name=AmortizationTermInYears]:checked'); 
9

Cela fera l'affaire:

$(document).ready(function() { 
    $("input[name='AmortizationTermInYears'][value='True']").attr("checked", "checked"); 
}); 

Vous devez effectuer une recherche par le nom et la valeur définie l'attribut checked.

Live test case.

+0

qui fonctionne aussi :) – slandau

+1

@slandau: pour l'enregistrement, si le bouton radio avec la valeur 'True' sera la seconde, la réponse que vous avez acceptée échouera. –

+0

Que je sais, lol. Merci à – slandau

2

L'attribut "id" ne doit plus être utilisé. Vous avez donné id = "AmortizationTermInYears" aux deux boutons radio. C'est faux selon les normes. Définissez des ID différents sur les deux boutons radio.

vous pouvez également sélectionner le bouton radio en spécifiant id:

$('#AmortizationTermInYears').attr("checked", "checked"); 
3

Bien que la question est la plupart du temps sur la façon de sélectionner un élément, je remarque que tout le monde utilise la fonction attr() et, en général, cela est faux car appeler cette fonction ne fonctionne qu'une seule fois. Si vous appelez cela, l'utilisateur en vérifie un autre, si vous l'appelez la deuxième fois, cela ne fonctionnera pas. la bonne façon de le faire est d'utiliser prop()

$('input[name=AmortizationTermInYears]:nth(0)').prop('checked', true); 
+0

+1. Cela a résolu notre problème. – Pradeep

Questions connexes