41 votes

Lecture de la valeur sélectionnée depuis asp: RadioButtonList à l'aide de jQuery

J'ai un code similaire à celui-ci ...

 <p><label>Do you have buffet facilities?</label>
  <asp:RadioButtonList ID="blnBuffetMealFacilities:chk" runat="server">
    <asp:ListItem Text="Yes" Value="1"></asp:ListItem>
    <asp:ListItem Text="No" Value="0"></asp:ListItem>
  </asp:RadioButtonList></p>
<div id="HasBuffet">
  <p><label>What is the capacity for the buffet?</label>
  <asp:RadioButtonList ID="radBuffetCapacity" runat="server">
    <asp:ListItem Text="Suitable for upto 30 guests" value="0 to 30"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 50 guests" value="30 to 50"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 75 guests" value="50 to 75"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 100 guests" value="75 to 100"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 150 guests" value="100 to 150"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 250 guests" value="150 to 250"></asp:ListItem>
    <asp:ListItem Text="Suitable for upto 400 guests" value="250 to 400"></asp:ListItem>
  </asp:RadioButtonList></p>
</div>
 

Je souhaite capturer un événement lorsque la liste de radios blBuffetMealFacilities: chk change de côté client et exécute une fonction de glissement vers le bas sur la div HasBuffet de jQuery. Quelle est la meilleure façon de créer cela, en gardant à l'esprit qu'il y a plusieurs sections similaires sur la page, dans lesquelles je souhaite que les questions soient révélées en fonction d'une réponse non dans une liste de radios.

81voto

Vinh Points 751

Le moyen simple de récupérer la valeur vérifiée de RadioButtonList1 est:

 $('#RadioButtonList1 input:checked').val()
 

Edité par Tim:

RadioButtonList1 doit être le ClientID de RadioButtonList

 var rblSelectedValue = $("#<%= RadioButtonList1.ClientID %> input:checked"); 
 

29voto

Andrew Bullock Points 14899

cette:

 $('#rblDiv input').click(function(){
    alert($('#rblDiv input').index(this));
});
 

vous obtiendrez l'index du bouton radio sur lequel vous avez cliqué (je pense, non testé) (notez que vous avez dû envelopper votre RBL dans #rblDiv

vous pouvez ensuite l'utiliser pour afficher le div correspondant comme ceci:

 $('.divCollection div:eq(' + $('#rblDiv input').index(this) +')').show();
 

Est-ce ce que vous vouliez dire?

Edit: Une autre approche serait de donner à la red un nom de classe, puis d'aller:

 $('.rblClass').val();
 

5voto

azarudeen Points 31

Selon moi, ça va bien marcher ...

Juste essayer avec ça

    var GetValue=$('#radiobuttonListId').find(":checked").val();
 

La valeur Radiobuttonlist à stocker sur GetValue (Variable).

4voto

BlueZebra Points 192

Une liste de boutons radio au lieu d'un bouton radio crée des étiquettes d'identification uniques nom_0, nom_1, etc. Un moyen simple de tester ce qui est sélectionné consiste à affecter une classe css telle que

 var deliveryService;
$('.deliveryservice input').each(function () {
    if (this.checked) {
        deliveryService = this.value
    }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X