根据RadioButton显示/隐藏div控件使用javascript列出所选值

根据RadioButton显示/隐藏div控件使用javascript列出所选值,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我正在尝试使用javascript根据RadioButtonList选择的值使div控件可见/不可见 div体现在FormView中: <asp:FormView ID="fv" runat="server" DataKeyNames="RootId" DataSourceID="SomeDataSource" DefaultMode="Edit"> <EditItemTemplate> <div class="SubTitle">

我正在尝试使用javascript根据RadioButtonList选择的值使div控件可见/不可见

div体现在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');
    }
});

$('#')。查找('input:radio')。单击(function(){
变量Br=$(“#”);
如果($(this).next().html()=='New'){
Br.show(“慢”);
}
否则{
隐藏(“慢”);
}
});

以下是生成的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">

$(“#ctl00_contentArea main_fv_Inv1_fv_breakdownddiv”)。查找('input:radio')。单击(function()){
var Br=$(“#ctl00_contentArea main_fv_Inv1_fv_breakdownddiv”);
如果($(this).next().html()=='New'){
Br.show(“慢”);
}
否则{
隐藏(“慢”);
}
});
.
.
.
调试脚本时,我可以看到正在找到div控件,但什么也没有发生-当选中不同的单选按钮时,它没有被隐藏或显示。 有人知道我做错了什么吗

终于找到了问题所在

我试图隐藏/显示包含的表的Div,由于某种原因,表内容没有隐藏/显示。我做了一些重组,删除了div,并在表上显示/隐藏了它


谢谢大家的评论。希望这对将来的人有所帮助

在CSS代码中,确保div块设置为
div{display:none}

仅具有2个收音机和一个div的函数


我不确定你是否能得到输入收音机的文本。我改为使用value。

以下是基于值选择隐藏和显示div的示例代码。
OWNER在这里用作常量,其值为“OWNER”


您是否可以共享生成的htmlon asp:FormView使put clientIDMode=static,并在JSU中使用FV作为选择器?是否在页眉部分添加了所需的JQuery文件。您的意思是找到“var Br”?为什么不使用$([id$=BreakdownDiv])而不是ClientID?
$("input[type=radio][name=radio1]").change(function () {
  if($(this).val()=='New')
    {
      $("div[id$=BreakdownDiv]").show('slow');
    }
    else
    {
      $("div[id$=BreakdownDiv]").hide('slow');  
    }   
});
   $(":radio[id*=rbl_saleby]").change(function () {
     var fetcheddata = $(".mainContainer").find("#saleby").find(":radio[id*=rbl_saleby]:checked").val();
                if (fetcheddata == OWNER)
       {       
                    $("#saleby").show();
                    $("#salebyowner").show();
                    $("#salebyALA").hide();
        }
    });