我无法使用asp.net网站中选择的onchange事件更改面板可见性

我无法使用asp.net网站中选择的onchange事件更改面板可见性,asp.net,panel,jquery-chosen,Asp.net,Panel,Jquery Chosen,我使用选择的jQuery插件来选择选项。在第一次选择的基础上,我想决定显示或隐藏哪个面板。我有两个面板,一个是 另一个是 我选择的onchange事件如下:这是用.aspx编写的 <script type="text/javascript"> ('#myId').change(function () { var abc = $(this).val(); alert('The option with

我使用选择的jQuery插件来选择选项。在第一次选择的基础上,我想决定显示或隐藏哪个面板。我有两个面板,一个是 另一个是 我选择的onchange事件如下:这是用.aspx编写的

<script type="text/javascript">  
('#myId').change(function () {  
                   var abc = $(this).val();  
                   alert('The option with value ' + abc + ' was selected.');  
                   if (abc == "val1") {  
                       alert('Msg1');  
                       document.getElementById("panel2").style.visibility = true;  
                       document.getElementById("panel1").style.visibility = false;  
                       alert('Msg2');  
                   }  
                   else {  
                       alert('Elseloop');  
                       document.getElementById("panel1").style.visibility =true;  
                       document.getElementById("panel2").style.visibility = false;  
                       alert('Elseloop2');  
                   }  
                });  
</script>

有什么建议吗?我犯错误的地方

你必须用一个美元符号来称呼它,并把它放在文件上

添加$function{before;and};我会帮你的

如果您想在代码中获取面板id,您应该尝试从解析代码的HTML中获取它们的正确id

<script>
    $(function(){
            $('#myId').change(function () {  
                   var abc = $(this).val();  
                   alert('The option with value ' + abc + ' was selected.');  
                   if (abc == "val1") {  
                       alert('Msg1');  
                       document.getElementById(<%= panel2.ClientID %>).style.visibility = true;  
                       document.getElementById(<%= panel1.ClientID %>).style.visibility = false;  
                       alert('Msg2');  
                   }  
                   else {  
                       alert('Elseloop');  
                       document.getElementById(<%= panel1.ClientID %>).style.visibility =true;  
                       document.getElementById(<%= panel2.ClientID %>).style.visibility = false;  
                       alert('Elseloop2');  
                   }  
                });
             });
</script>
要获取内容控件内的完整控件ID名称,请使用ClientID:

 $("#<%=Panel1.ClientID%>").change(function () {  

document.getElementById.style.visibility=true之后的警报语句;正在工作,但面板可见性未更改。我现在使用$将面板id更改为ctl00_panel1和ctl00_panel2Try,我忘记了键入。我忘记键入答案以获得完整的控件id。使用$实际上提问者并没有试图在面板更改上编写函数,而更改句柄位于被称为myId的select上。使用$'myId'。changefunction{错了吗?我不应该在这里引用'myId'?
<asp:Panel runat="server" ID="panel1">
<asp:Panel runat="server" ID="panel2">
"ctl00_panel1" and "ctl00_panel2", change your id:
 $("#<%=Panel1.ClientID%>").change(function () {