jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用JQuery监听RadioGroup选定值的更改?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要为一组单选按钮注册一个处理程序。我正在使用JQuery,并希望其 .change方法能够实现这一点。但是我没有经历过所期望的行为。

这是我写的示例代码段。可悲的是,“radioValueChanged”仅在初始加载时才被调用。选择true / false不会触发处理程序。

<html>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>

<form id="myForm">
    <div id="Question1Wrapper">
        <div>
            <input type="radio" name="controlQuestion" id="valuefalse" value="0" />
            <label for="valuefalse">
                false</label>
        </div>
        <div>
            <input type="radio" name="controlQuestion" id="valueTrue" value="1" />
            <label for="valueTrue">
                True</label>
        </div>
    </div>
    <div id="Question2Wrapper">
        <div>
            <label for="optionalTextBox">
                This is only visible when the above is true</label>
            <input type="text" name="optionalTextBox" id="optionalTextBox" value="" />
        </div>
    </div>

    <script type="text/javascript">
        jQuery(document).ready(function ()
        {
            $("#controlQuestion").change(radioValueChanged('controlQuestion'));
        })

        function radioValueChanged(radioName)
        {
            radioValue = $('input[name=' + radioName + ']:checked','#myForm').val();

            alert(radiovalue);

            if(radioValue == 'undefined' || radioValue == "0")
            {
                $('#Question2Wrapper:visible').hide();
            }
            else
            {
                $('#Question2Wrapper:visible').show();
            }
        } 
    </script>
</form>

解决方法

这里有几个问题。

>您在脚本执行时立即运行radioValueChanged(‘controlQuestion’),因为这是方法调用而不是函数分配。
>选择器$(“#controlQuestion”)是错误的,你没有任何id为controlQuestion的元素。
> radioValueChanged方法没有正确处理值,因为它们将被传递给一个jQuery事件处理程序。

您可以尝试以下方式:

jQuery(document).ready(function ()
    {
        $("input[name='controlQuestion']").change(radioValueChanged);
    })

    function radioValueChanged()
    {
        radioValue = $(this).val();

        alert(radiovalue);

        if($(this).is(":checked") && radioValue == "0")
        {
            $('#Question2Wrapper').hide();
        }
        else
        {
            $('#Question2Wrapper').show();
        }
    }

诚然,我不知道这是否是您正在使用if语句寻找的实际逻辑,但希望这将为您更正当前的代码提供依据。

大佬总结

以上是大佬教程为你收集整理的如何使用JQuery监听RadioGroup选定值的更改?全部内容,希望文章能够帮你解决如何使用JQuery监听RadioGroup选定值的更改?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。