настоящее время у меня следующий код на моей странице:Отображение панели (ы) на основе Radio Button Selected
<asp:RadioButtonList id="GroupButtons" CellSpacing="5" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="0" selected="true" />
<asp:ListItem Value="1" />
<asp:ListItem Value="2" />
<asp:ListItem Value="3" />
<asp:ListItem Value="4" />
<asp:ListItem Value="5" />
<asp:ListItem Value="6" />
<asp:ListItem Value="7" />
</asp:RadioButtonList>
<asp:Panel ID="GroupPanel" runat="server">
<b>How can we improve our service?</b><br />
<asp:TextBox ID="GroupTextBox" runat="server" />
</asp:Panel>
Этот код также повторяется в различных секциях (IndividualButtons/IndividualPanel, EducationButtons/EducationPanel и т.д.)
Я пытаюсь выяснить, элегантное решение сделать следующее:
- Когда выбранное значение из списка кнопки радио 0 или 5-7, скрыть соответствующую панель.
- Если выбранное значение равно 1-4, отобразите соответствующую панель.
- Этот код работает для всех разделов, чтобы избежать раздувания (если возможно).
Любые предложения?
EDIT: следующий код получает панель PanelPanel, чтобы скрыть и показать каждый раз, когда изменяется выбор GroupButtons. Но опять же, мне нужно, чтобы он показывался на 1-4, и прятался для 0 и 5-7.
<script src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript">
var id = '<%= GroupButtons.ClientId %>_0';
$(function() {
var i = 0
$('#<%= GroupButtons.ClientId %> :radio').click(function(){
if ($(this).attr('id') != id) {
$('#<%= GroupPanel.ClientId%>').toggle();
id = $(this).attr('id');
}
});
});
</script>
Это было трюк, хотя ваш сценарий между здесь и Fiddle был другим (и мне нужна версия Fiddle). Спасибо! – niclake
Обновлен сценарий. – Vahi