将 Asp 标签控件的文本值设置为 jquery

Set Asp Label control's text value with jquery

这是在我的母版页的 jquery 函数中:(告诉我它找不到 lblDateFrom)

      $('#<%= lblDateFrom.ClientID %>').text(dateText);

这是我的 aspx 页面:

        <asp:Label ID="lblDateFrom" CssClass="lblDateFrom" runat="server" Text="a date"></asp:Label>

主页的 jquery 可以看到我由 class 创建的 div,但看不到标签。我试图在没有回发的情况下更改页面中的文本,但它不会通过 class 或 id 找到标签。我尝试过的其他方法不起作用:

      $(".lblDateFrom").text(dateText);
      $(".lblDateFrom").text = dateText;

任何人都可以让它工作吗?或者知道问题出在哪里?

好吧,在我发布之后,我发现这个有效:

   $(".lblDateFrom").empty();
   $(".lblDateFrom").append(dateText);

要获得特定标签,您应该使用#id select或精确定位一个特定标签。使用 $('.lblDateFrom') 将 select 所有带有 class lblDateFrom 的标签,这可能不是您的意图。

$(document).ready(function() {
  $('#lblDateFrom').text(dateText) ;
});

或使用label标签和id值,如果id格式为id='lblDateFrom_0_xxx'或id='Client_0__lblDateFrom'

,则以^开头或以$字符结尾
$(document).ready(function() {
  //pick label with id starts with lblDateFrom
  $('label [id^=lblDateFrom]').text(dateText);
  //or
  //pick label with id ends with lblDateFrom
  $('label [id$=lblDateFrom]').text(dateText);
});