Javascript 如何知道在if-else语句中是否选中了具有特定id的单选按钮

Javascript 如何知道在if-else语句中是否选中了具有特定id的单选按钮,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我想做的是显示对话框,如果所有的输入都是空的。如果选中“是”单选按钮,则其他带星号的输入也应填写,否则将显示对话框 我的问题是,即使我选中了值为“是”的单选按钮,对话框也不会显示 电流输出: 脚本: $("#dialog-confirm").dialog({ resizable: false, height: 140, modal: true, autoOpen: false, buttons: { "Close": function ()

我想做的是显示对话框,如果所有的输入都是空的。如果选中“是”单选按钮,则其他带星号的输入也应填写,否则将显示对话框

我的问题是,即使我选中了值为“是”的单选按钮,对话框也不会显示

电流输出:

脚本:

$("#dialog-confirm").dialog({
    resizable: false,
    height: 140,
    modal: true,
    autoOpen: false,
    buttons: {
        "Close": function () {
            $(this).dialog("close");
        }
    }
});

$('#presentEmploymentInformationDialog').click(function () {
    if (   
    ($("input[name='employed']:checked").val() == undefined) && 
    (
    ($('#employed_v1[value=Yes]:checked').val() == 'true') ||
    ($("input[name='presentEmployed']:checked").val() == undefined || $('#officeName').val() == '' || $('#officeAddress').val() == '' || $('#jobPosition').val() == '' || $('#noYearsInPosition').val() == '' || $('#statusOfEmployment').val() == '' )
    )
       )
    {
        $("#dialog-confirm").dialog("open");
    }else{
        exit;
    }
});
试试这个

$('#presentEmploymentInformationDialog').click(function() {
  if($('input[name="employed"]:checked').val() === 'Yes' && $('.row input[type="text"], .row select').val() === '') {
     $('#dialog-confirm').dialog("open");
  }
  else{
     $('.show-page[data-page="Eligibilty_info"]').trigger('click');
  }
});

您可以使用以下代码查看是否选中了复选框

$("selector").is(":checked")

下面是一个例子,在

中,您的选择器过于复杂,导致至少一个测试无法工作

例如:

$('#employed_v1[value=Yes]:checked').val() == 'true')
这永远都不可能是真的。在选择器中,您说值是
,然后尝试将其与
的“true”进行比较。
Id必须是唯一的,因此只能有一个
#employed\u v1
,因此只需将其用作选择器即可

您可能希望在收音机中使用类似的东西,这样可以减少一些代码

$('[name="employed"]:checked').length /* if 0 neither is checked */
对于文本输入,可以对其使用
filter()

 var invalidTextFields= $('#officeName, #officeAddress,#jobPosition.....').filter(function(){
        return this.value=='';
 }).length;

调试的主要困难在于有太多的
|
与可疑选择器链接在一起

只有在所有输入都为空并且单击了值为“是”的单选按钮时,对话框才会显示。在您的代码中,如果我单击“否”,则会显示对话框。如果我在您的代码中单击“是”,则某些带星号的输入即使是空的,也不会显示对话框。很抱歉,我复制了您的代码,但正如您在提交时显示的小提琴对话框中所看到的那样。@user3842025很难理解基于您现有代码的规则code@mdesdev您只需删除中的圆括号即可我的代码这就是为什么=.=你能在我的JSFIDLE中应用它吗?不完全。。。我真的不明白要求是什么。