2010-08-27 30 views
117

Tôi có một danh sách vô tuyến và khi nhấp vào mục nút radio, tôi phải thay đổi nội dung của nhãn của nó. Nhưng vì lý do nào đó nó không hoạt động. Mã dưới:Làm cách nào để thay đổi văn bản của nhãn trong jQuery?

<asp:Label ID="lblVessel" Text="Vessel:" runat="server" ></asp:Label> 

<script language="javascript"> 

    $(document).ready(function() { 

     $('#rblDiv input').click(function() { 
      var selected= $("#rblDiv input:radio:checked").val(); 
      if(selected == "exportpack") 
      { 
       $('#lblVessel').text("NewText"); 
      } 
     }); 
    }); 

</script> 

Hãy Khuyên

+0

Tôi không phải là ASP.NET guy nhưng tôi nghĩ rằng id tạo ra cho trình duyệt không giữ lại ID bạn cung cấp cho nó ở phía máy chủ. Làm một nguồn xem và dán mã có liên quan ở đây. –

Trả lời

36

Hãy thử điều này:

$('[id$=lblVessel]').text("NewText"); 

Các id$= sẽ phù hợp với các yếu tố kết thúc bằng văn bản rằng, đó là cách ASP.NET tự động tạo ra ID. Bạn có thể làm cho nó an toàn hơn bằng cách sử dụng span[id=$=lblVessel] nhưng thông thường điều này là không cần thiết.

4

Tôi đã tự mình thực hiện và tìm ra giải pháp. Xem kiểm soát máy chủ nhãn ASP.NET thực tế được redered như một span (không phải là một đầu vào), do đó, bằng cách sử dụng .val() bất động sản để có được/thiết lập sẽ không hoạt động. Thay vào đó, bạn phải sử dụng thuộc tính 'text' trên span trong conjuntion với việc sử dụng các thuộc tính điều khiển .ClientID. Các mã sau đây sẽ làm việc:

$("#<%=lblVessel.ClientID %>").text('NewText'); 
5
<asp:RadioButtonList ID="rbtnType" runat="server"> 
    <asp:ListItem Value="C">Co</asp:ListItem> 
    <asp:ListItem Value="I">In</asp:ListItem> 
    <asp:ListItem Value="O">Out</asp:ListItem> 
</asp:RadioButtonList> 
<br /> 
<asp:Label ID="lblLabelName" runat="server"></asp:Label> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#<%=rbtnType.ClientID%>").change(function() { 
      var rbvalue = $("input[@name=<%=rbtnType.ClientID%>]:radio:checked").val(); 
      if (rbvalue == "C") { 
       $('#<%=lblLabelName.ClientID %>').html('text1'); 
      } else if (rbvalue == "I") { 
       $('#<%=lblLabelName.ClientID %>').html('else text2'); 
      } else if (rbvalue == "O") { 
       $('#<%=lblLabelName.ClientID %>').html('or elsethistext'); 
      } 
     }); 
    }); 
</script> 
183

Tôi đã có cùng một vấn đề, vì tôi đã sử dụng

$("#LabelID").val("some value"); 

Tôi đã học được rằng bạn có thể sử dụng phương pháp jquery tạm thời để xóa nó lần đầu tiên sau đó nối :

$("#LabelID").empty(); 
$("#LabelID").append("some Text"); 

Hoặc conventionaly, bạn có thể sử dụng:

$("#LabelID").text("some value"); 

HOẶC

$("#LabelID").html("some value"); 
+0

Tôi áp dụng giống nhau nhưng không hoạt động. Tôi đã sử dụng các trang con. Làm thế nào tôi viết trong các trang con. Tôi viết '$ ('# contentPlaceHolderId_LabelID')' nó không hoạt động. Tôi cũng thay đổi ClientMode thành Static nhưng không làm việc. Hãy giúp tôi. –

3
$('#<%= lblVessel.ClientID %>').html('New Text'); 

ASP.net Label sẽ được trả lại như một khoảng trong trình duyệt. do đó người dùng 'html'.

2

chúng tôi phải tìm thẻ nhãn cho giá trị thuộc tính dựa trên đó.chúng tôi đã thay thế văn bản nhãn.

Script:

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("label[for*='test']").html("others"); 
}); 

</script> 

Html

<label for="test_992918d5-a2f4-4962-b644-bd7294cbf2e6_FillInButton">others</label> 

You want to more details .Click Here

0

thử này

$("label").html(your value); hoặc $("label").text(your value);

Các vấn đề liên quan