使用jQuery在回发期间更改Radio Button选择的项目文本

时间:2012-04-24 12:42:32

标签: jquery asp.net asp.net-ajax updatepanel

我在update panel

中有一个像此代码一样的单选按钮列表
<asp:RadioButtonList ID="RadioButtonList1" runat="server" Width="233px" 
                ClientIDMode="Static" AutoPostBack="true" 
                onselectedindexchanged="RadioButtonList1_SelectedIndexChanged">
                <asp:ListItem Value="1">1</asp:ListItem>
                <asp:ListItem Value="2">2</asp:ListItem>
                <asp:ListItem Value="3">3</asp:ListItem>
                <asp:ListItem Value="4">4</asp:ListItem>
            </asp:RadioButtonList>

我希望当用户点击此单选按钮的任何项目时Please Wait...文本显示而不是单选按钮文本。我写这段代码:

function pageLoad() {
        $(document).ready(function () {
            $('#RadioButtonList1').on("change", function () {
                $("#RadioButtonList1 input:checked").val("Please Wait...");
            });
       });
    }

但它不起作用。我的错误是什么?

感谢

4 个答案:

答案 0 :(得分:1)

您应该更改此代码:

$("#RadioButtonList1 input:checked").val("Please Wait...");

to

$("#RadioButtonList1 input:checked").parent().find('label').text("Please Wait");

答案 1 :(得分:1)

radio按钮值未显示在浏览器视口中,您应使用label并更改其文本:

   $(document).ready(function () {
            $('#RadioButtonList1').on("change", function () {
                $("#RadioButtonList1 input:checked").closest("label").text("Please Wait...");
            });
       });

答案 2 :(得分:0)

省略函数调用,只需在javascript代码块中执行此操作:

$(document).ready(function () {
    $('#RadioButtonList1').on("change", function () {
        $("#RadioButtonList1 input:checked").val("Please Wait...");
    });

});

答案 3 :(得分:0)

尝试:

function pageLoad() {
        $(document).ready(function () {
            $('#<%=RadioButtonList1.ClientID %>').on("change", function () {
               $("#<%=RadioButtonList1.ClientID %>").find("input[checked]").val("Please Wait...");
            });
       });
    }