当radiobutton list选择索引动态改变时,如何调用JS函数

时间:2014-01-13 00:10:02

标签: c# javascript jquery asp.net radiobuttonlist

我有几个单选按钮列表,我需要根据其他单选按钮选择更改少数列表的选定索引,所以我写了类似下面的东西,我在onclick事件上调用一些JS函数,OnSelectedIndexChanged事件的代码隐藏方法工作正常..

function test(sender) {
            if (sender[0].checked)
            {
                var controlid = document.getElementById("RadioButtonList1");
                controlid[0].checked = true;
           }

<asp:RadioButtonList ID="RadioButtonList1" runat="server"
                RepeatDirection="Horizontal" 
                OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" onclick="validate()">
                <asp:ListItem >YES</asp:ListItem>
                <asp:ListItem >NO</asp:ListItem>
            </asp:RadioButtonList>
            <asp:RadioButtonList ID="RadioButtonList2" runat="server" RepeatDirection="Horizontal">
                <asp:ListItem onclick="test()">YES</asp:ListItem>
                <asp:ListItem onclick="test()">NO</asp:ListItem>

            </asp:RadioButtonList>

问题:如果我在RadioButtonList2中选择YES,那么RadioButtonList1值也设置为YES,但是在这种情况下不调用从RadioButtonList1调用的函数(validate(),RadioButtonList1_SelectedIndexChanged)。

你能告诉我怎样才能解决这个问题..在jquery或JS中有任何功能可以动态检测indexchange来调用方法..

2 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望根据所选的单选按钮更改选择框的选定值。

为什么不使用jquery onchange事件绑定单选按钮,在该函数中,您可以决定如何处理选择框选择值。

如果您将单选按钮值与每个相应单选按钮的选择框值相同,则可以执行以下操作:

    jQuery("#radio_btns").on("change", function(){
        jQuery("#select_element").val(jQuery(this).val())
    })

其中#radio_btns是单选按钮的集合,#opt_element是您要更新的选择框。

希望这有帮助!

答案 1 :(得分:-1)

我会看看jquery文档,它们通常有很多代码片段作为示例。检查“on”的功能,也许是触发功能。你基本上只需要改变事件。希望这会有所帮助。

api.jquery.com