【问题标题】:Access content page elements from jquery从 jquery 访问内容页面元素
【发布时间】:2011-10-12 02:45:18
【问题描述】:

我正在尝试从 jquery 访问文本框和隐藏字段的值。我得到未定义的价值。

这些控件位于我的母版页的内容页中。

 <input id="datepickerContact" type="text" runat="server" />
<input type="hidden" runat="server" id="IAssignmentId" clientidmode="Static" />

在javascript函数中:

 var Insid = $("#datepickerContact");
    var firstcontactDate = $("#IAssignmentId");
    alert(Insid.val());
    alert(firstcontactDate.val());

提前致谢

BB

【问题讨论】:

  • 隐藏输入没有赋值。这是您尝试获取隐藏字段值的问题线吗?
  • 我正在为后面代码中的隐藏字段赋值。

标签: jquery asp.net master-pages content-pages


【解决方案1】:

您还没有提到ClientIDModedatepickerContact 控件。默认情况下,该模式将是可预测的(如果是迁移的站点,则为 AutoID),并且它将使用父命名容器的串联生成 html 端 id,如果是内容页面,它将是内容占位符。

简而言之,datepickerContact 文本框将具有类似于“content1_datepickerContact”的 html id 属性,因此 jquery 选择器将找不到 html 控件。

简单的解决方案是将 ClientIDMode 用作静态。例如,

<input id="datepickerContact" type="text" runat="server" ClientIDMode="Static" />

另一种方法是将通过ClientID 属性获得的实际客户端ID(与客户端ID 模式无关)传递给您的java-script 函数。如果您的函数是在标记 (aspx) 上定义的,那么您可以使用服务器端指令将客户端 ID 嵌入脚本中,如 rick schott 所示。如果您的函数位于外部 js 中,则必须将客户端 ID 作为参数传递。

【讨论】:

    【解决方案2】:
    $(document).ready(function() {
        var Insid = $("#<%= datepickerContact.ClientID %>");
        var firstcontactDate = $("#IAssignmentId");
        alert(Insid.val());
        alert(firstcontactDate.val());
    });
    

    【讨论】:

      【解决方案3】:

      你可以通过写这个来访问

      var insid=$("#").val();
      警报(内部);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多