【问题标题】:Get text of label with jquery使用 jquery 获取标签文本
【发布时间】:2011-08-07 12:06:21
【问题描述】:

我想做很简单的事情,但我没有成功。我的 asp.net 页面上有按钮和标签,我想在单击按钮后获取标签文本。这是我的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="DynamicWebApplication.WebForm2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">
    <title></title>    
    <script type="text/javascript">
        function f() 
        {
            var g = $('<%=Label1.ClientID%>').val();  // Also I tried .text() and .html()
            alert(g);
        }
    </script>
</head>

<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <p></p>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="f();"/>
        </div>
    </form>
</body>

【问题讨论】:

  • 你能举例说明如何使用它吗?
  • 我没有看到 jQuery 脚本在您的代码中的任何位置加载。也许这就是问题所在?

标签: jquery asp.net button label onclientclick


【解决方案1】:

试试这个:

var g = $('#<%=Label1.ClientID%>').val();

或者这个:

var g = $('#<%=Label1.ClientID%>').html();

你错过了#

在头部添加这个:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

【讨论】:

  • 你需要添加包含的jquery脚本看看我编辑的答案
【解决方案2】:

试试这个

var g = $('#<%=Label1.ClientID%>').text();

【讨论】:

    【解决方案3】:

    尝试使用 html() 函数。

    $('#&lt;%=Label1.ClientID%&gt;').html();

    您还缺少 # 以使其成为您正在搜索的 ID。没有#,它正在寻找一个标签类型。

    【讨论】:

    • var g = $('').val(); // 我也试过 .text() 和 .html()
    【解决方案4】:

    这里没有适合我的解决方案。相反,我向标签添加了一个类,并且能够以这种方式选择它。

    &lt;asp:Label ID="Label1" CssClass="myLabel1Class" runat="server" Text="Label"&gt;&lt;/asp:Label&gt;

    $(".myLabel1Class").val()

    并且,正如其他人所提到的,请确保您已加载您的 jquery。

    【讨论】:

    • 我得到了这个使用 $(".myLabel1Class").html() 谢谢琼斯博士!
    【解决方案5】:

    试试:

    <%=this.Label1.Text%>
    

    【讨论】:

      【解决方案6】:

      尝试 document.getElementById('').text 或 innerHTML 否则加载 JQUERY SCRIPT 并按原样放置您的代码....

      【讨论】:

        【解决方案7】:

        你写的那一行

        var g = $('').val(); // 我也试过 .text() 和 .html()

        你错过了添加#。应该是这样的

        var g = $('#').text();

        我也不喜欢用这种方法

        这是因为如果您正在调用母版页或嵌套母版页中的控件,或者您正在从母版页中调用控件。也控制中继器。不管MVC。这会导致问题。

        您应该始终直接调用控件的 ID。像这样

        $('#ControlID')

        这很简单明了。 但不要忘记设置

        ClientIDMode="静态"

        在您的控件中,在渲染后保持相同的 ID 名称。这是因为 ASP.net 在某些情况下会修改 HTML 呈现文件中的 ID 名称 即页面是母版页,控件名称将是 ConetentPlaceholderName_controlID

        我希望它能解决问题 祝你好运

        【讨论】:

          【解决方案8】:

          很简单,为该标签设置一个特定的值(例如 XXXXXXX)并运行它,打开输出的 html 源(在浏览器中)并查找 XXXXXXX,你会看到类似 &lt;span id="mylabel"&gt;XXXXXX&lt;/span&gt; 这就是你想要的, &lt;span&gt; 的 ID(我认为它通常与 asp 代码中的标签名称相同)现在您可以通过 innerHTML 或 JQuery 中的其他方法获取它的值

          【讨论】:

          • $('.mylabel').html();对于 JQuery
          • 这将选择一个名为 mylabel 的类,而不是一个 ID。
          • 也许这个 $('mylabel').html();我对JQ不熟悉
          • $('#mylabel').html(),和其他帖子一样。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-12-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-18
          • 2021-07-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多