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中应用它吗?不完全。。。我真的不明白要求是什么。