Làm thế nào để thay đổi văn bản của một nhãn?


175

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

<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>

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

Câu trả lời:



275

Tôi đã có cùng một vấn đề bởi vì tôi đang 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ó trước sau đó thêm vào:

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

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

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

HOẶC LÀ

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

Tôi áp dụng tương tự nhưng không làm việc. 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 Tĩnh nhưng không hoạt động. Xin vui lòng giúp đỡ.
Salman Mushtaq

Tôi đã sử dụng $('[id*=LabelID]').text("some value");vì kiểm soát của tôi là kiểm soát máy chủ.
Ashi

45

Thử cái này:

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

id$=sẽ khớp với các phần tử kết thúc bằng văn bản đó, đó là cách ASP.NET tự động tạo 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ì điều này là không cần thiết.



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>

4

Tôi chỉ tự mình trải qua điều này và tìm ra giải pháp. Xem điều khiển máy chủ nhãn ASP.NET thực sự được chuyển thành một khoảng (không phải đầu vào), vì vậy sử dụng thuộc tính .val () để get / set sẽ không hoạt động. Thay vào đó, bạn phải sử dụng thuộc tính 'văn bản' trên khoảng kết hợp với việc sử dụng thuộc tính điều khiển .ClientID. Đoạn mã sau sẽ hoạt động:

$("#<%=lblVessel.ClientID %>").text('NewText');

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

Nhãn ASP.net sẽ được hiển thị dưới dạng nhịp trong trình duyệt. vì vậy người dùng 'html'.


2

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

Kịch bản:

<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>

Bạn muốn biết thêm chi tiết. Bấm vào đây


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.