gpt4 book ai didi

javascript - 尽管只满足几个条件之一,但 if 语句返回 true (jQuery)

转载 作者:行者123 更新时间:2023-12-02 19:50:54 24 4
gpt4 key购买 nike

如果在提交之前有任何可选单选按钮未得到答复,我想通知用户回答表单(以确保它们已被有意跳过)。我的问题是,虽然我正在设置一个具有多个条件的 if 语句,但当满足任何一个条件时,而不是满足所有条件时,if 语句都会返回 true。我正在使用 jQuery 1.7.1。

Javascript:

$("#optmsg").show();
function updateFormEnabledOpt() {
if (verifyOpt()) {
$("#optmsg").hide();
} else {
$("#optmsg").show();
}
}

function verifyOpt() {
if ($("#formidable input:radio[name='q11']:checked").val() !== 'undefined' && $("#formidable input:radio[name='q12']:checked").val() !== 'undefined' && $("#formidable input:radio[name='q13']:checked").val() !== 'undefined') {
return true;
} else {
return false;
}
}

$('#formidable input:radio[name="q11"]').change(updateFormEnabledOpt);
$('#formidable input:radio[name="q12"]').change(updateFormEnabledOpt);
$('#formidable input:radio[name="q13"]').change(updateFormEnabledOpt);​

所以:一旦这三个问题中的任何一个被选中的单选按钮#optmsg 就会被隐藏。Jsfiddle(带有一些与脚本一起使用的html):http://jsfiddle.net/rnPA6/

更新:感谢您的帮助!我可能会以惊人的速度补充!这是一个工作 fiddle :http://jsfiddle.net/rnPA6/14/

最佳答案

如果输入元素中未设置任何内容,且由于 if 条件通过而导致不等于 undefined,则

val() 方法将返回空字符串。尝试一下,如果值为空,则不会通过。

if ($("#formidable input:radio[name='q11']:checked").val() 
&& $("#formidable input:radio[name='q12']:checked").val()
&& $("#formidable input:radio[name='q13']:checked").val() ) {

}

当没有为输入单选按钮设置值时,当您对其调用 val() 方法时,jQuery 将返回 "on" 。因此,如果未设置,您应该至少为每个单选按钮设置一个空值。

关于javascript - 尽管只满足几个条件之一,但 if 语句返回 true (jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9315725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com