javascript - 如何使用 Javascript/JQuery 判断单选按钮是否处于未选中状态

标签 javascript jquery forms webforms radio-button

我正在使用 jQuery 和 javascript 创建测验/调查表单,但在问题验证方面遇到一些问题。

测验/调查创建的工作方式是一系列显示/隐藏显示相关的表单字段。用户填写第一个问题的一组字段,然后询问他们是否想要在测验/调查中添加另一个问题,然后显示下一组表单字段。

我很挣扎,因为我不是在用户完成所有可能的表单字段时进行大规模验证,而是在每个问题的末尾运行一个验证脚本,并将关联的表单字段 ID 和值传递到脚本中用户完成该问题。该脚本如下,但脚本的一些关键区域取决于单选按钮是否已被选中。例如,如果用户将问题文本区域留空,则会提醒他们填写问题文本,或者如果他们选择真/假答案或多选答案,则应该根据单选按钮确定哪个是正确答案列表。这是完整的验证代码:

var questionValidate = function(qTextID, qAnswerType, TFID, MCID, MCText1, MCText2, MCText3, MCText4, VisRef, Youtube, Vimeo, ImgID) {
    // alert(qTextID, qAnswerType, TFID, MCID, MCText1, MCText2, MCText3, MCText4, VisRef, Youtube, Vimeo, ImgID);
    if (jQuery('select[name="CAT_Custom_14"]').val() == 'Quiz') {
        if (jQuery(qTextID).val() == "") {
            var qText = true;
            alert('Question Text field is blank!');
        };
         if (jQuery(qAnswerType).val() == " ") {
            var answertype = true;
            alert("There's no answer selected.");
        } else if (jQuery(qAnswerType).val() == 'True/False') {
            if (jQuery(TFID).attr("checked") == true) {
                var tfanswer = true;
                var mcanswer = false;
                alert('True False is selected');
            } else if (jQuery(TFID).attr("checked") == false) {
                alert('True False is not selected.');
            };
        } else if (jQuery(MCID).attr("checked") != 'checked' ) {
            var mcanswer = true;
            var tfanswer = false;
            alert('The correct Multiple Choice Answer is not selected');
            if (jQuery(MCText1).val() == "" || jQuery(MCText2).val() == "" || jQuery(MCText3).val() == "" || jQuery(MCText4).val() == "") {
                var mcTextfields = true;
                alert("There are Multiple Choice Fields that you have left blank.");
            } else {
                mcTextfields = false;
            };

        };
        if (jQuery(VisRef).val() != " ") {
            if (jQuery(VisRef).val() == "Youtube Video" && jQuery(Youtube).val() == "") {
                youtubeVal = true;
                alert('Please enter your Youtube Video code.');
            } else if (jQuery(VisRef).val() == "Vimeo Video" && jQuery(Vimeo).val() == "") {
                vimeoVal = true;
                alert('Please enter your Vimeo Video code.');
            } else {
                validateImage(ImgID);
            };
            } else {
                youtubeVal = false;
                vimeoVal = false;
                tempImgCheck = false;
            }
        };
    };

我遇到了一种方法来判断单选按钮是否被选中,但是它似乎没有按照我想要的方式使用我的脚本。如果您查看代码的此区域,您应该能够看到它首先确定答案类型(真/假或多选),然后如果未选择正确的答案,则应提醒用户。因此,如果他们没有选择“true”、“false”、“a”、“b”、“c”或“d”单选按钮,验证应提醒他们选择它。

如果有任何其他方法来检查是否选择了正确的单选按钮,我将不胜感激任何人帮助解决这个问题。

非常感谢!

最佳答案

我想你想要这样的东西:

if($('#radio_button').is(':checked')){
    alert("I am checked");
} 

您可以通过否定该语句来检查未检查的按钮。

if(!$('#radio_button').is(':checked')){
    alert("I'm not checked");
} 

关于javascript - 如何使用 Javascript/JQuery 判断单选按钮是否处于未选中状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24869499/

相关文章:

javascript - 如何在每次页面加载时在 javascript 中切换 1 个 bool 值,而不需要本地存储或 cookie?

javascript - native html5 视频播放器与任何其他视频播放器之间的区别

javascript - 如何在 Reactjs 中嵌入谷歌地图上的确切位置

javascript - 如何在使用 jquery 关闭前一个 div 时打开下一个 div?

javascript - 用于开始和结束日期输入字段的 JQuery 过滤表

forms - modelAttribute 和 commandName 的区别

javascript - Moment.Js : Offsetting dates using UTC and Timezone offset

javascript - $ ('body' ).height() 变化不可预测

javascript - 按 'enter' 禁用表单完成

php - $结果 = 父级::save($key, $urlVar);并不总是保存到数据库