ラベルのテキストを変更するには?


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の人ではありませんが、ブラウザー用に生成されたIDはサーバー側で提供されたIDを保持していません。ソースを表示し、関連するコードをここに貼り付けます。
Allain Lalonde、2010

回答:



275

私が使っていたので同じ問題がありました

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

暫定的なjqueryメソッドを使用して最初にそれをクリアしてから追加できることを学びました:

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

または、慣習的に、次のように使用できます。

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

または

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

私は同じを適用しますが、機能しません。子ページを使用しました。子ページに書き込む方法。$('#contentPlaceHolderId_LabelID')動作しないと書いてます。また、ClientModeをStaticに変更しましたが、機能しません。助けてください。
Salman Mushtaq

$('[id*=LabelID]').text("some value");私のコントロールはサーバーコントロールだったので使用しました。
芦ノ

45

これを試して:

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

id$=ASP.NETは、IDを自動生成する方法でそのテキストとその最後の要素と一致します。安全に使用できますが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()プロパティを使用して取得/設定を実行しても機能しません。代わりに、コントロールの.ClientIDプロパティを使用することに関連して、スパンの 'text'プロパティを使用する必要があります。次のコードが機能します。

$("#<%=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>

詳細を知りたい方はこちら


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.