为什么ASP.net RadioButtonList onchange客户端事件没有触发?

我有asp.net项目,我有一个主页面,我包括这一行,以参考JS文件

 

在JS文件中我有这个function:

 function hideDiv() { document.getElementById('div1').style.display = 'none'; document.getElementById('div2').style.display = 'none'; if (document.getElementById('RadioButtonTipoUser_0') != null) { if (document.getElementById('RadioButtonTipoUser_0').checked) { document.getElementById('div1').style.display = 'block'; } } if (document.getElementById('RadioButtonTipoUser_1') != null) { if (document.getElementById('RadioButtonTipoUser_1').checked) { document.getElementById('div2').style.display = 'block'; } } } 

基本上我需要在这个RadioButtonList上,在Js“hideDiv()”上调用一个函数,当选择一个Button时,一个div隐藏传递给可见。

此代码包含在内容中。

 
Dome Emp Vet

我进行调试,错误消息是

ReferenceError:未定义hideDiv

我如何使onchange =“hideDiv()”调用HideDiv()函数?

贝斯茨

你使用jquery来完成你的任务

HTML

 
Dome Emp Vet

JQUERY

  $(document).ready(function () { $('#div1').hide(); $('#div2').hide(); $('#RadioButtonTipoUser_1').on('change', function () { if ($(this).is(':checked')) { $('#div1').show(); $('#div2').hide(); } }); $('#RadioButtonTipoUser_2').on('change', function () { alert("ok1"); if ($(this).is(':checked')) { $('#div1').hide(); $('#div2').show(); } }); }); 

我们的站点是一个内部网,我不得不关闭Internet Explorer 中兼容性视图中的显示内部网站点,以便在ExchangeButtonList中工作。 看起来ASP.NET实际上将一个javascript事件添加到RadioButtonList呈现的包含表中,并且兼容性视图中的IE停止了该工作。

在此处输入图像描述