Как изменить текст метки в 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".
мы должны найти тег метки для значения атрибута на основе этого.у нас есть заменить текст надписи.
сценарий:
<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>