【发布时间】:2015-10-22 09:40:04
【问题描述】:
有一个奇怪的问题,情况有点独特,因为我想在服务器端和客户端的实例中显示/隐藏一个 div,因此我无法将其更改为面板。
我必须更改其可见性客户端的当前代码是:
$('#<%= txtSurname.ClientID%>').on('input', function hideControl() {
var current = $('#<%= txtSurname.ClientID%>').val();
var surname = $('#<%= hdnSurname.ClientID%>').val();
if (current == surname) {
$('#pnlReason').hide()
console.log('hiding');
} else {
$('#pnlReason').show()
console.log('showing');
}
});
当用户单击按钮时,页面会验证并刷新,并且面板会再次呈现为不可见。因此,我想在页面加载时再次运行此代码,这样如果在运行页面验证时两个变量仍然不同,则面板仍然可见。这就是我用来称它为服务器端的东西:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "ShowHide",
"$(document.ready(hideControl()));", True)
但是,当我尝试运行它时,它说 hideControl 未定义,有什么问题吗?
【问题讨论】:
-
$('#<%= txtSurname.ClientID%>').on('input', function hideControl() {是错误的。如果您在js文件中有此代码,并且页面中包含相同的代码,则无需通过Page.ClientScript调用它,上面的行应该和anonymous function在一起过 喜欢这个$('#<%= txtSurname.ClientID%>').on('input', function() {
标签: javascript jquery html asp.net vb.net