【问题标题】:jQuery(function ($) does not work after partial update in updatepaneljQuery(函数($)在更新面板中部分更新后不起作用
【发布时间】:2013-08-15 20:05:06
【问题描述】:
<script type="text/javascript">

    //http://digitalbush.com/projects/masked-input-plugin/
    jQuery(function ($) {
        //phone numbers
        alert("test");
        var txtInvestContactPhone = $("#<%=txtInvestContactPhone.ClientID%>");
        $(txtInvestContactPhone).mask("(999) 999-9999");


    });

</script>

我尝试将 pagerequestmanager 添加到页面的内容中,但我认为我做错了:

<script type="text/javascript">
     Sys.WebForms.PageRequestManager.getInstance().add("jQuery(function ($)");
    </script>
    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true">
    </asp:ToolkitScriptManager>

我也尝试在我的 page_load 事件中注册启动脚本,如下所示:

  protected void Page_Load(object sender, EventArgs e)
        {

            ScriptManager.RegisterStartupScript(this, typeof(Page), Guid.NewGuid().ToString(), "jQuery(function ($);", true);
            if (!Page.IsPostBack)
            {

但这只是打破了我的手风琴,导致面板都无法点击。

我认为我在正确的道路上,只是需要一些语法帮助。

【问题讨论】:

  • jQuery(function ($); 不是一个可以调用的函数,这就像......半个函数。将您的 init 代码放入它自己的函数定义中,然后从您的 DOM 就绪处理程序和您的启动脚本中调用它。
  • 谢谢!请回答,我会标记为正确!我知道我很接近:)

标签: c# jquery asp.net .net updatepanel


【解决方案1】:

jQuery(function ($); 不是一个可以调用的函数,这就像......半个函数。

将您的初始化代码放入它自己的函数定义中,然后从您的 DOM 就绪处理程序和您的启动脚本中调用它。

function init() {
    //phone numbers
    alert("test");
    var txtInvestContactPhone = jQuery("#<%=txtInvestContactPhone.ClientID%>");
    jQuery(txtInvestContactPhone).mask("(999) 999-9999");
});

jQuery(function () { init(); });

...

ScriptManager.RegisterStartupScript(this, typeof(Page), Guid.NewGuid().ToString(), "init();", true);

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2017-03-17
    • 2023-04-08
    • 1970-01-01
    • 2016-02-08
    • 2014-01-01
    • 2014-07-30
    • 1970-01-01
    相关资源
    最近更新 更多