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


175

У меня есть список радиокнопок, и при щелчке на кнопке радиокнопки я должен изменить текст ее метки. Но по какой-то причине это не работает. Код ниже:

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

Я не парень ASP.NET, но я думаю, что идентификатор, сгенерированный для браузера, не сохраняет идентификатор, который вы указали для него на стороне сервера. Сделайте просмотр исходного кода и вставьте соответствующий код здесь.
Аллен Лалонд

Ответы:



275

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

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

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

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

Или условно, вы можете использовать:

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

ИЛИ

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

Я применяю то же самое, но не работает. Я использовал дочерние страницы. Как я пишу на дочерних страницах. Я пишу $('#contentPlaceHolderId_LabelID')это не работает. Я также изменяю ClientMode на Static, но без работы. Пожалуйста помоги.
Салман Муштак

Я использовал, $('[id*=LabelID]').text("some value");потому что мой контроль был серверным контролем.
Аши

45

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

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

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



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

Я сам прошел через это и нашел решение. См., Что серверный элемент управления меткой ASP.NET фактически обрабатывается как span (не вход), поэтому использование свойства .val () для получения / установки не будет работать. Вместо этого вы должны использовать свойство 'text' в диапазоне вместе с использованием элемента управления .ClientID. Следующий код будет работать:

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

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

Метка ASP.net будет отображаться как промежуток в браузере. так что пользователь "HTML".


2

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

Автор сценария:

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

Вы хотите больше деталей. Нажмите здесь


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.