javascript - jQuery - 检查各种输入类型的值

标签 javascript jquery html

我不知道我在这里做错了什么。我有一个带有单选按钮和简单文本字段的表单。我正在检查表单字段中是否有值,或者是否已选中任一单选按钮。如果没有值,请向标签添加红色。如果它们有值,我会添加回默认的黑色。但由于某种原因,无论我是否在文本字段中输入值,它都会保持红色。也有点奇怪,但如果我选中第一个复选框,则会出现黑色文本。非常感谢任何帮助。

JS fiddle :http://jsfiddle.net/5Sacj/

<form name="headerForm">
  <label id="gender" for="gender">Gender</label>
  <input type="radio" name="customer" value="male" />Male
  <input type="radio" name="customer" value="female" />Female
<br/>
  <label for="fname">*First Name</label>
  <input type="text" class="text" id="fname" name="fname" />
<br/>    
  <label for="fname">*Last Name</label>
  <input type="text" class="text" id="lname" name="lname" />
  <input id="submit" type="submit" name="submit" value="submit"
</form>   

JQUERY

$(document).ready(function() {    
$("#submit").on('click', function() {
    $(":text, :radio").each(function() {
        if($(this).val() === '' || !$(this).is(':checked')){
            $(this).prev('label').css('color','red');
        } else { 
            $(this).prev('label').css('color','black');
        }
    });
});
});

最佳答案

这是因为您正在使用或运算符||

即使true它也会执行。尝试使用 && 或为两者使用单独的 if 条件。

关于javascript - jQuery - 检查各种输入类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419828/

相关文章:

javascript - 检测 jQuery 插件是否应用于多个元素?

javascript - 如何使用 jquery 选择数组中的内容?

javascript - AngularJS视频背景不工作

javascript - 已删除数组元素的垃圾收集

javascript - 使用 JavaScript 清除输入字段

javascript - 排除 DOM 子树的 jQuery 选择器

javascript - knockout 中的自定义下拉列表

html - 你如何实现这种向后的 div 效果?

javascript - 隐藏/显示 jquery 中的选择框选项?

javascript - 获取数组中的所有元素(Javascript)