jQuery获取复选框的text属性

我正在使用以下语句向页面添加一个复选框;

 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); } }  

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

我哪里错了? 请建议。

干杯

ASP .NET将ASP:CheckBox服务器控件的Text属性呈现为客户端生成的标记上的之后的label元素,它看起来像这样:

   

您可以通过以下方式获取label text

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

CheckBox控件在元素内呈现Text 。 该文本不是HTML复选框的一部分。 如果你想从jQuery获取文本,你必须从获取它。

此外,它生成的实际上没有ID。 如果CheckBox名为checkBox1 ,则它输出的HTML将为 ,文本位于该元素内。 我相信正确的jQuery语法将是:

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

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

如果它是这样的:

  

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

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

如果你这样做的话

 Check me, fool! 

我觉得你运气不好。 如果你必须这样做,请在文本周围放一个范围并抓住它:

 Check me, fool! $("#spnFoo").text()