【问题标题】:jQuery to get the text attribute of a checkboxjQuery获取复选框的文本属性
【发布时间】:2010-12-31 07:55:09
【问题描述】:

我正在使用以下语句将复选框添加到页面;

<script language="C#" runat="server">
    protected void Page_Load ( object src, EventArgs e ) 
    {
        if (!IsPostBack)
        {
         CheckBox XChkBox = new CheckBox(); //instance of System.Web.UI.WebControls.CheckBox
         XChkBox.ID = "someId"
         XChkBox.Text = "someText"
         somePlaceHolder.Controls.Add(XChkBox);
        }
    }
</script>

我需要在单击时获取该复选框的 Text 属性。我在$('input[type=checkbox]').click(function(){}); 中尝试了$(this).attr('Text');,但它返回未定义。

我哪里错了?请提出建议。

干杯

【问题讨论】:

    标签: asp.net jquery checkbox


    【解决方案1】:

    ASP .NET 将ASP:CheckBox 服务器控件的Text 属性呈现为label 元素,就在客户端生成的标记上的&lt;input type="checkbox" /&gt; 之后,它看起来像这样:

    <input id="someId" type="checkbox" name="someId" />
    <label for="someId"> someText </label>
    

    您可以通过以下方式获取labeltext

    $("input:checkbox").click(function() {
      var $label = $(this).next('label');
      alert($label.text());
    });
    

    【讨论】:

      【解决方案2】:

      CheckBox 控件在&lt;label&gt; 元素内呈现Text。该文本不是 HTML 复选框的一部分。如果要从 jQuery 中获取文本,则必须从 &lt;label&gt; 获取。

      另外,它生成的&lt;label&gt; 实际上并没有ID。如果您的CheckBox 被命名为checkBox1,那么它输出的HTML 将为&lt;label for="CheckBox1"&gt;,并且文本位于该元素内。我相信正确的 jQuery 语法是:

      $('label[for="checkBox1"]').html()
      

      【讨论】:

        【解决方案3】:

        这取决于您如何实现所谓的“文本”。

        如果是这样的话:

        <input id="chkFoo" type="checkbox" text="Check me, fool!" />
        

        然后你可以像这样访问文本:

        $("#chkFoo").attr("text")
        

        如果你这样做

        <input id="chkFoo" type="checkbox" />Check me, fool!
        

        我认为你运气不好。如果您必须这样做,请在文本周围放置一个跨度并像这样抓住它:

        <input id="chkFoo" type="checkbox" /><span id="spnFoo">Check me, fool!</span>
        
        $("#spnFoo").text()
        

        【讨论】:

        • 复选框没有text 属性或元素内容。
        • 但是你可以给元素添加一个属性并且仍然可以从 jQuery 访问它。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 2023-03-08
        • 1970-01-01
        相关资源
        最近更新 更多