FineUI 官方论坛

标题: 请问怎么通过js获取RadioButtonList的值? [打印本页]

作者: 为什麽    时间: 2017-8-13 23:37
标题: 请问怎么通过js获取RadioButtonList的值?
<script type="text/javascript">
        var RadioButtonList5ID = '<%= RadioButtonList5.ClientID %>';
        var FormRow17ID = '<%= FormRow17.ClientID %>';

        F.ready(function () {
            $('#' + RadioButtonList5ID + ' input').change(function (event) {
                alert(F(RadioButtonList5ID).getValue());
                var SelectVal = $(":input:radio[@name='#" + RadioButtonList5ID + " > input'][checked]").val()
                if (SelectVal == "HyperLink") {
                    $("#" + FormRow17ID).css("display", "block");
                }
                else {
                    $("#" + FormRow17ID).css("display", "none");
                }
            });
        });  
    </script>
通过以上代码获取的值是 “[object Object]”,SelectVal 值取不出来,请问怎样才能获取到RadioButtonList选中的值呢?
谢谢


作者: sanshi    时间: 2017-8-14 09:51
有示例,使用组件提供的方法,不是jQuery获取节点的方式:http://fineui.com/demo/#/demo/form/radiobuttonlist.aspx
作者: 为什麽    时间: 2017-8-14 12:59
sanshi 发表于 2017-8-14 09:51
有示例,使用组件提供的方法,不是jQuery获取节点的方式:http://fineui.com/demo/#/demo/form/radiobutton ...

老大你好,我改用你给的事例方式了。我的RadioButtonList是后台绑定的,前台js用你的方法,不管怎么选都是第一个值,请问应该如何解决?
谢谢
作者: sanshi    时间: 2017-8-14 16:47
为什麽 发表于 2017-8-14 12:59
老大你好,我改用你给的事例方式了。我的RadioButtonList是后台绑定的,前台js用你的方法,不管怎么选都 ...

请基于空项目重现问题,并上传
作者: 为什麽    时间: 2017-8-14 23:24
sanshi 发表于 2017-8-14 16:47
请基于空项目重现问题,并上传

是这样的
"<script type="text/javascript">
        var RadioButtonList5ID = '<%= RadioButtonList5.ClientID %>';

        F.ready(function () {
            var list2 = F(RadioButtonList5ID);
            var selectedRadio = list2.getValue();
            $('#' + RadioButtonList5ID + ' input').change(function (event) {
                alert(selectedRadio[list2.name]);
            });
        });

        function alertSelectedValue() {
            var list2 = F(RadioButtonList5ID);
            var selectedRadio = list2.getValue();
            if (Ext.Object.isEmpty(selectedRadio)) {
                top.F.alert("列表一没有选中项!");
            } else {
                top.F.alert("列表一选中项的值:" + selectedRadio[list2.name]);
            }
        }  
    </script>"

我用$('#' + RadioButtonList5ID + ' input').change 每次取都是默认选中的那项,
而用按钮来执行alertSelectedValue 函数时,就正常。
是不是不能用jquery的change的方式?
那有没有什么方法可以每次选中一项就做后续处理呢?
谢谢
作者: 为什麽    时间: 2017-8-15 23:39
sanshi 发表于 2017-8-14 09:51
有示例,使用组件提供的方法,不是jQuery获取节点的方式:http://fineui.com/demo/#/demo/form/radiobutton ...

请问老大,我改成下面这个方法
<f:RadioButtonList ID="RadioButtonList5" runat="server" Label="数据列类型">
                                        <Listeners>
                                            <fistener Event="change" Handler="function (RadioButtonList, newValue, oldValue, eOpts) { alert(RadioButtonList.getValue()); }" />
                                        </Listeners>
                                    </f:RadioButtonList>
alert(RadioButtonList.getValue()和alert(newValue)显示的都是[object Object],请问如何才能取到实际的选择值呢?
谢谢!




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4