Як змінити текст етикетки?


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 насправді змінюється як проміжок (не вхід), тому використання властивості .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.