【问题标题】:div value is undefined in jQuerydiv 值在 jQuery 中未定义
【发布时间】:2020-02-05 18:49:17
【问题描述】:

我有一个 div,其中的值是使用后面的 asp.net 代码动态添加的。我想在我的 jQuery 代码中使用此值,但警报显示该值未定义。 div 显示动态日期,如下所示:

<div id="test" runat="server"></div>
protected void dpchange_SelectedIndexChanged(object sender, EventArgs e)
{
   test.InnerHtml = Label1.Text;       
}

这是我试图访问值的 jQuery 代码

$('#addDialog').dialog({
  autoOpen: false,
  width: 470,
  buttons: {
    "Add": function() {
      alert($("#test").text());
      alert($("#test").html());
      alert($("#test").val());

      var eventToAdd = {

      };

【问题讨论】:

  • "protected void dpchange_SelectedIndexChanged" - 那是 C# 还是 Java?这些是在服务器上运行的编译语言,而不是像 jQuery 那样在浏览器中运行的语言。会不会是你把这两者混为一谈了?
  • 您是否验证过客户端确实收到了测试div?你提到了我认为是 asp.net 概念的代码隐藏,所以我想知道服务器是否在为客户端呈现之前去掉了 id

标签: javascript jquery html asp.net


【解决方案1】:

假设您使用的是 ASP.Net,

您可以将 div 上的 ClientID 属性指定为静态,以便 ID 在运行时不会更改。

<div id="test" runat="server" clientidmode="Static"></div>

另一种方法是使用下面的语法

alert($('[id$=test]').text());
alert($('[id$=test]').html());
alert($('[id$=test]').val());

如果您的jQuery 在同一个aspx 页面上,您还可以使用内联服务端标记。

alert($('#<%= test.ClientID %>').html());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2012-05-26
    • 2018-01-26
    • 2013-06-02
    • 2019-04-11
    • 1970-01-01
    • 2013-03-14
    相关资源
    最近更新 更多