Bir etiketin metni nasıl değiştirilir?


175

Bir radyo düğmesi listem var ve radyo düğmesine tıklandığında etiketinin metnini değiştirmek zorundayım. Ama bir nedenden dolayı çalışmıyor. Kod aşağıdadır:

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

Ben bir ASP.NET adam değilim ama tarayıcı için oluşturulan kimliği sunucu tarafında sağladığınız kimliği korumak değil düşünüyorum. Bir görünüm kaynağı yapın ve ilgili kodu buraya yapıştırın.
Allain Lalonde

Yanıtlar:



275

Aynı sorunu yaşıyordum çünkü

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

Geçici jquery yöntemini önce temizleyip sonra ekleyebileceğinizi öğrendim:

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

Veya geleneksel olarak şunları kullanabilirsiniz:

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

VEYA

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

Ben de aynısını uyguluyorum ama çalışmıyor. Alt sayfaları kullandım. Alt sayfalara nasıl yazarım. Ben $('#contentPlaceHolderId_LabelID')işe yaramaz yazıyorum . Ayrıca TH ClientMode'u Statik olarak değiştirdim, ancak iş yok. Lütfen yardım et.
Salman Mushtaq

Ben $('[id*=LabelID]').text("some value");kontrolümün sunucu kontrolü olduğu için kullandım.
Ashi

45

Bunu dene:

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

Bu id$=metinle biten öğeler, ASP.NET otomatik olarak kimlikler oluşturur. Kullanarak daha güvenli hale getirebilirsiniz, span[id=$=lblVessel]ancak genellikle bu gerekli değildir.



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

Bunu kendim geçirdim ve çözümü buldum. ASP.NET etiket sunucusu denetiminin aslında bir span (girdi değil) olarak reddedildiğine bakın, bu nedenle almak / ayarlamak için .val () özelliğini kullanmak işe yaramaz. Bunun yerine, span içindeki 'text' özelliğini kontroller .ClientID özelliğini kullanarak birlikte kullanmanız gerekir. Aşağıdaki kod çalışacaktır:

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

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

ASP.net etiketi tarayıcıda bir yayılma alanı olarak oluşturulur. yani 'html' kullanıcısı.


2

buna dayalı özellik değeri için etiket etiketi bulmalıyız. etiket metnini değiştirmeliyiz.

Senaryo:

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

Daha fazla ayrıntı istiyorsun.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.