2016-05-10 4 views
0

У меня есть asp.net RadioButtonList с 3 элементами в нем. Когда пользователь нажимает на любой из элементов, я хочу отключить JQuery и получить значение того, какой переключатель был выбран, и я буду использовать это значение для определения скрытия/отображения <div>.ASP.NET RadioButtonList JQuery Onchange событие

Вот что мой RadioButtonList выглядит следующим образом:

asp:RadioButtonList ID="rblRework" runat="server" 
       RepeatDirection="Horizontal" 
       CssClass="form-control FormatRadioButtonList" 
       RepeatLayout="Table"> 
       <asp:ListItem>Yes</asp:ListItem> 
       <asp:ListItem>No</asp:ListItem> 
       <asp:ListItem>Maybe</asp:ListItem> 
      </asp:RadioButtonList> 

И вот мой JQuery событие:

$(document).ready(function() { 
    $('#<%=rblRework.ClientID %>').change(function() { 
     $(this).click(function() { 
      alert((this).value); 
     }); 
    }); 
}); 

Однако это не похоже на работу, я даже пытался просто отображать предупреждение чтобы увидеть, могу ли я заставить Jquery ударить (у меня есть другой JQuery, работающий в другом месте, поэтому я знаю, что он правильно связан с моим проектом.)

$('#<%=rblRework.ClientID %>').change(function() { 
    alert("TEST"); 
}); 

Где я иду не так? Как я могу использовать событие изменения JQuery в своем радиобунтовом списке, чтобы получить значение выбранного переключателя?

Редактировать

Вот как это визуализируется в HTML

<table id="ctl00_ContentPlaceHolder2_rblRework" class="form-control FormatRadioButtonList"> 
<tbody> 
    <tr> 
     <td> 
      <input id="ctl00_ContentPlaceHolder2_rblRework_0" type="radio" name="ctl00$ContentPlaceHolder2$rblRework" value="Yes"> 
      <label for="ctl00_ContentPlaceHolder2_rblRework_0">Yes</label> 
     </td> 
     <td> 
      <input id="ctl00_ContentPlaceHolder2_rblRework_1" type="radio" name="ctl00$ContentPlaceHolder2$rblRework" value="No"> 
      <label for="ctl00_ContentPlaceHolder2_rblRework_1">No</label> 
     </td> 
     <td> 
      <input id="ctl00_ContentPlaceHolder2_rblRework_2" type="radio" name="ctl00$ContentPlaceHolder2$rblRework" value="Strip Dry Out"> 
      <label for="ctl00_ContentPlaceHolder2_rblRework_2">Strip Dry Out</label> 
     </td> 
    </tr> 
</tbody> 

+0

ли вы убедитесь, что '«# <% = rblRework.ClientID%>» 'визуализируется как вы ожидаете? – Andrei

ответ

1

RadioButtonList Contro l отображает, по умолчанию, элемент table с идентификатором, указанным в элементе управления. В пределах этого table ваши радиокнопки.

Например, это как элемент управления будет оказывать:

<table id="rblRework" class="form-control FormatRadioButtonList"> 
    <tbody> 
    <tr> 
     <td> 
     <input id="rblRework_0" type="radio" name="rblRework" value="Yes"> 
     <label for="rblRework_0">Yes</label> 
     </td> 
     <td> 
     <input id="rblRework_1" type="radio" name="rblRework" value="No"> 
     <label for="rblRework_1">No</label> 
     </td> 
     <td> 
     <input id="rblRework_2" type="radio" name="rblRework" value="Maybe"> 
     <label for="rblRework_2">Maybe</label> 
     </td> 
    </tr> 
    </tbody> 
</table> 

Это означает, что ваши входы потомки элемента с ID rblRework. Таким образом, чтобы предназначаться входы радиокнопку с JQuery вы могли бы использовать:

$('#<%=rblRework.ClientID %> input').change(function() { 
    alert((this).value); 
}); 
0

Использование onclick на <asp:ListItem>

  <asp:RadioButtonList ID="rblRework" runat="server" 
       RepeatDirection="Horizontal" 
       CssClass="form-control FormatRadioButtonList" 
       RepeatLayout="Table"> 
        <asp:ListItem Value="y" onclick="alert(this.value)" Text="Yes"></asp:ListItem> 
        <asp:ListItem Text="No"></asp:ListItem> 
      </asp:RadioButtonList> 
Смежные вопросы