到目前为止,我已经看到(我正在使用以下)脚本来显示/隐藏div或其他控件,具体取决于ASP.NET中的另一个控件
$('[id$=myRadio_0]').click(function() { $('[id$=myDiv]').show(); });
$('[id$=myRadio_1]').click(function() { $('[id$=myDiv]').hide(); });
当然,我的div喜欢
<div id="myDiv" runat="server" visible="false">
,当用户选择radiobuttonlist的任一选项时,该工作正常。
然而,当我在我的Page_Load上为后面的代码指定了该radiobuttonlist的值为1或是时,这不是(也可能不是)被jQuery捕获,并且即使控件有一个,我的div仍然是不可见的值为/。
那么,我是否需要从后面的代码中设置该div的可见性,或者在我为代码后面的主要控件设置值后,jQuery中是否有一种方法可以强制扫描这些依赖项?
答案 0 :(得分:1)
你可以做的事情很多。
1)将您的div更改为Panel服务器控件(<asp:Panel id="myDiv" runat="server">
),ID为“myDiv”。然后在后面的代码中,当您将radiobutton设置为1时,您还可以设置面板控件的可见性。您当前的jQuery代码仍然有效。
2)编写另一行jquery以在页面加载时测试div可见性。像,
if ($('[id$=myRadio_0]').val() == 1 && $('[id$=myDiv]:hidden')
{
$('[id$=myDiv]').show();
}
就个人而言,我会选择选项1,因为您已经在设置代码隐藏中的表单状态,我不会将“设置”代码拆分为客户端和服务器代码。 / p>