我有一个单选按钮列表,点击单选按钮项目,我必须改变其标签的文本。但不知什么原因,它不管用。代码如下:

<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标签服务器控件实际上被定义为一个span(而不是一个输入),因此使用.val()属性来获取/设置将不起作用。相反,你必须在使用控件的. clientid属性的同时使用span上的'text'属性。下面的代码将工作:

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

其他回答

在JS中试试这个:

单击标签文本将其切换为另一个文本,同时选择相关的输入字段并将焦点放在相同的相关输入字段上。

<script type="text/javascript">"use strict";
  const oldLabelText="ORIGINAL BUTTON TAG TEXT";
  document.write(
    '<label id=labId for=inputId onClick="changeText(this.id)">'+oldLabelText+'</label>:<br>'+
    '<input id="inputId" value="The input value" />'
  );
</script>

<script type="text/javascript">"use strict";
  const stat=[oldLabelText,"NEW LABEL TEXT","THIRD LABEL TEXT","FOURTH LABEL TEXT"];
  let   cptr=0;

  function changeText(button_id){
     var el = document.getElementById(button_id);

     el.textContent = stat[++cptr % (stat.length)];

  // or
  //       el.firstChild.data = stat[++cptr % (stat.length)];

  // or
  //        el.innerHTML = stat[++cptr % (stat.length)];

  // or simply
  //        el.innerHTML = "the new text";
  }
</script>

ASP。Net自动为服务器端控件生成唯一的客户端id。

改为

 $('#<%= lblVessel.ClientID %>')

在ASP。Net 4.0,你也可以将ClientIDMode属性设置为Static。

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

ASP.net Label将在浏览器中呈现为一个span。用户'html'。

   lable value $('#lablel_id').html(value);
<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>