Как изменить текст метки в jQuery?

У меня есть список radiobutton, и при нажатии на переключатель я должен изменить текст его метки. Но почему-то не получается. Код ниже:

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

Пожалуйста

8 ответов


ASP.Net автоматически генерирует уникальные идентификаторы клиентов для серверных элементов управления.

изменить на

 $('#<%= lblVessel.ClientID %>')

In ASP.Net 4.0, вы также можете установить ClientIDMode свойства to Static вместо.


у меня была такая же проблема, потому что я использовал

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

я узнал, что вы можете использовать предварительный метод jquery, чтобы сначала очистить его, а затем добавить:

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

или conventionaly, вы могли бы использовать:

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

или

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

попробуйте это:

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

на id$= будет соответствовать элементам, которые заканчиваются этим текстом, Вот как ASP.NET автоматически генерирует идентификаторы. Вы можете сделать его более безопасным, используя span[id=$=lblVessel] но обычно это не обязательно.


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

Я просто прошел через это сам и нашел решение. См. ASP.NET label server control на самом деле получает redered как промежуток (не вход), поэтому использует .свойство val () для get/set не будет работать. Вместо этого необходимо использовать свойство "text" на промежутке в сочетании с использованием элементов управления .Свойство ClientID. Будет работать следующий код:

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

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

ASP.net Label будет отображаться как span в браузере. Итак, пользователь "html".


попробуй такое

$("label").html(your value); или $("label").text(your value);


мы должны найти тег метки для значения атрибута на основе этого.у нас есть заменить текст надписи.

сценарий:

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

вы хотите более детально .Нажмите Здесь