Как изменить текст метки в 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свойства доStaticвместо.
у меня была такая же проблема, потому что я использовал
$("#LabelID").val("some value");я узнал, что вы можете либо использовать предварительный метод jquery, чтобы сначала очистить его, а затем добавить:
$("#LabelID").empty(); $("#LabelID").append("some Text");или условно, вы могли бы использовать:
$("#LabelID").text("some value");или
$("#LabelID").html("some value");
попробуйте это:
$('[id$=lblVessel]').text("NewText");The
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 метка серверного управления на самом деле получает redered как span (не вход), так что с помощью .свойство val () для получения/установки не будет работать. Вместо этого вы должны использовать свойство 'text' на промежутке в сочетании с использованием элементов управления .Свойство ClientID. Следующий код будет работать:
$("#<%=lblVessel.ClientID %>").text('NewText');
$('#<%= lblVessel.ClientID %>').html('New Text');ASP.net метка будет отображаться как промежуток в браузере. так что пользователь '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>
Comments