javascript - 使用 vb.net 在代码中调用 jquery 函数

标签 javascript jquery html asp.net vb.net

有一个奇怪的问题,情况有点独特,因为我想在服务器端和客户端的实例中显示/隐藏 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 未定义,有什么想法出了什么问题吗?

最佳答案

你可以像这样重新组织你的jquery,一旦页面刷新,你就可以在文档末尾执行你的函数,而不需要RegisterStartupScript():

//shorthand for document.ready
$(function () {
    var hideControl = function() {
           var current = $('#<%= txtSurname.ClientID%>').val();
           var surname = $('#<%= hdnSurname.ClientID%>').val();

           if (current == surname) {
               $('#pnlReason').hide()
               console.log('hiding');
           } else {
               $('#pnlReason').show()
               console.log('showing');
            }
       }

    $('#<%= txtSurname.ClientID%>').on('input', function () {
        hideControl();                    
    });

    //call it at end of ready function:
    hideControl();
};

关于javascript - 使用 vb.net 在代码中调用 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33277937/

相关文章:

javascript - 不调用 jQuery 动态加载图像

html - 让父 div 继承兄弟高度?

HTML 背景图像从中心偏移 x 像素

JavaScript 和 WordPress : JS not loaded

javascript - 使用 JavaScript .map() 和 .filter() 按 lang 搜索作者/书籍数据模块

javascript - 从现有 JSON 数组的嵌套键/值创建一个新的 JSON 数组

javascript - Jquery 插件与谷歌日历

javascript - 使用 jQuery 按 id 元素排序

jquery - 检查文本框字符串并根据字符串内容使用CSS伪类

html - <p> 如何居中和对齐?