Я пытаюсь сделать управление div видимым/невидимым в соответствии с выбранными значениями RadioButtonList с помощью javascript.Отображение/скрытие элемента управления div в соответствии с выбранными значениями RadioButtonList с использованием javascript
ДИВ воплощается в FormView:
<asp:FormView ID="fv" runat="server" DataKeyNames="RootId"
DataSourceID="SomeDataSource" DefaultMode="Edit">
<EditItemTemplate>
<div class="SubTitle">
Fees
</div>
<table cellpadding="0" cellspacing="0" border="0" class="FormTable">
<tr>
<td class="FirstColumn">
<table cellpadding="0" cellspacing="0" border="0" class="FormTable">
<tr>
<td>
<asp:RadioButtonList ID="ftCtrl" runat="server" DataSource='<%# Eval("ftList") %>'
DataValueField="Key" DataTextField="Value" SelectedValue='<%# Bind("ft") %>'/>
</td>
</tr>
<tr>
<div runat="server" id="BreakdownDiv" style="display:none" >
...
А вот сценарий:
<script type="text/javascript">
$('#<%= fv.FindControl("ftCtrl").ClientID %>').find('input:radio').click(function() {
var Br = $('#<%= fv.FindControl("BreakdownDiv").ClientID %>');
if ($(this).next().html() == 'New') {
Br.show('slow');
}
else {
Br.hide('slow');
}
});
Вот сгенерированный HTML:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$('#ctl00_ContentAreaMain_fv_Inv1_fv_BreakdownDiv').find('input:radio').click(function() {
var Br = $('#ctl00_ContentAreaMain_fv_Inv1_fv_BreakdownDiv');
if ($(this).next().html() == 'New') {
Br.show('slow');
}
else {
Br.hide('slow');
}
});
</script>
<table cellspacing="0" clientIDMode="static" border="0" id="ctl00_ContentAreaMain_fv_Inv1_fv" style="border- collapse:collapse;">
.
.
.
<div id="ctl00_ContentAreaMain_fv_Inv1_fv_BreakdownDiv" style="display:none">
отладка сценарий I c a видеть, что элемент управления div найден, но ничего не происходит - он не скрывается или не отображается, когда проверяются разные радиокнопки. Кто-нибудь есть идея, что я делаю неправильно?
Наконец-то выяснилось, в чем проблема.
Div Я пытался скрыть/показать содержащуюся таблицу, и по какой-то причине содержимое таблицы не было скрыто/показано. Я сделал некоторую реструктуризацию, удалил div и сделал шоу/скрылся на самом столе.
Спасибо всем за ваши комментарии. Надеюсь, что это поможет кому-то в будущем.
вы можете поделиться сгенерированный HTML –
на жереха: FormView сделать ставить ClientIDMode = статическое и использовать FV в качестве селектора в вашем JS – HaBo
Есть у добавленных требуется файл JQuery в заголовке раздела. – Raghubar