无法从jquery设置标签文本

时间:2013-12-17 12:49:19

标签: javascript jquery asp.net

要求是在用户选择任何节点时从树视图设置标签文本。在调试时我正确地获得了hospitalName,但它没有设置标签文本。

$("[id$=HospitalTreeViewDiv] span").click(function () {

  var hospitalName = $(this)[0].outerText;

  //this is also not working
  // $("label[for='SelectedHospitalLiteral']").text(hospitalName); 

  $("[id$=SelectedHospitalLiteral]").val("abc");

});

这是aspx片段

   <div runat="server" id="HospitalTreeViewDiv">
            <asp:TreeView ID="HospitalTreeView" runat="server" ExpandDepth="0">
            </asp:TreeView>
   </div>

   <div class="alignBottom">
        <p> <asp:Label ID="SelectedHospitalLiteral" runat="server" ></asp:Label></p>
   </div>

2 个答案:

答案 0 :(得分:1)

使用HiddenField进行回发

<asp:HiddenField runat="server" ID="labelText" Value=""/>

$("[id$=HospitalTreeViewDiv] span").click(function () {
      $("[id$=labelText]").val("abc")
});

参考:How to change the text of a label in jQuery?

答案 1 :(得分:0)

当您使用asp controls label control时,请使用ClientID来获取控件:

还要设置文字使用text("yourtext")

在此处使用您的代码:

 $("[id$=HospitalTreeViewDiv] span").click(function () {

      var hospitalName = $(this)[0].outerText; //your forgot to give semicolon here

      $("#<%=SelectedHospitalLiteral.ClientID%>").text("abc"); // and also semicolon  here 

    });