Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查一个DIV,以确定jQuery中的输入项值不为空_Javascript_Jquery - Fatal编程技术网

Javascript 检查一个DIV,以确定jQuery中的输入项值不为空

Javascript 检查一个DIV,以确定jQuery中的输入项值不为空,javascript,jquery,Javascript,Jquery,我已经在一个DIV中堆叠了一些输入文本字段、下拉列表、radio gruop。现在如何检查该DIV中的所有文本字段、radio Group和下拉列表是否都有值 我已经在中创建了一个简单的模型 jQ: 您所要做的就是将标记包装在表单元素中,并添加到每个输入addattrrequired 这是纯css 功能突出显示(事件) { event.preventDefault(); 警报(‘完成!!!’); 返回false; } var highlightForm=document.querySelect

我已经在一个DIV中堆叠了一些输入文本字段、下拉列表、radio gruop。现在如何检查该DIV中的所有文本字段、radio Group和下拉列表是否都有值

我已经在中创建了一个简单的模型

jQ:


您所要做的就是将标记包装在
表单
元素中,并添加到每个
输入
addattr
required
这是纯css

功能突出显示(事件)
{
event.preventDefault();
警报(‘完成!!!’);
返回false;
}
var highlightForm=document.querySelector(“form#myForm”);
highlightForm.addEventListener('submit',highlight,false);
/**
$(“#继续”_btn”)。单击(函数(){
如果($('#myForm输入:text[value=”“])。长度>0){
警惕(“是”);
}否则{
警告(“否”)
}
}
*/

城市
类型
请选择
文件
选择1
选择2

您可以使用此代码,以下是链接

http://jqueryvalidation.org/files/demo/
这是代码

view-source:http://jqueryvalidation.org/files/demo/

您可以使用filter函数,它可以像这样过滤表单中的每个值

$("#continue_btn").click(function(){
   var anyFieldIsEmpty = $("#myForm input,select").filter(function() {
       return $.trim(this.value).length === 0;
   }).length > 0;
   if(anyFieldIsEmpty){
      alert("yes");
   } else {
      alert("no")
   }
}))

您可以选择多个表单元素,如我已完成输入、选择、文本区域等


这里的主要困难是单选按钮,您需要单独检查。试着这样做:

var $form = $('#myForm');

$("#continue_btn").click(function () {

    var $radio = $form.find(':radio:checked');

    var hasEmpty = $.grep($form.serializeArray(), function(el) {
        return !$.trim(el.value);
    }).length || $radio.length == 0;

    if (hasEmpty) {
        alert("yes");
    } else {
        alert("no")
    }
});
演示: 注意,对于这个演示,我对HTML做了一些改进:

  • 使用
    form
    标记包装所有内容,因为您需要处理表单
  • 向所有表单元素添加名称属性
  • 添加了占位符属性

  • 不检查单选按钮。你测试过你的演示吗?它不选中
    选择
    和单选按钮。您只需为其设置所需的属性即可。让我更新一下这个问题在jquery中是这么说的。@Tambo尽管文本“JSFIDLE上的演示”看起来很奇怪(你知道,字母太大了),但它现在可以正常工作,+1.Tabmo工作得很好。谢谢dfsq。但你的小提琴似乎不管用。对我来说管用,也许我误解了你的想法。在填写包括单选按钮在内的每个字段之前,它都应该发出“是”的警报。在所有情况下,警报都是“是”。我认为您没有填写所有字段。只是为了澄清:“水果”、“蔬菜”、“重量”不是值,它们是占位符。您已经使用了
    $form.serializeArray()
    。如果要将输入字段拆分为2组,您会怎么做?这个班可以用吗?
    var $form = $('#myForm');
    
    $("#continue_btn").click(function () {
    
        var $radio = $form.find(':radio:checked');
    
        var hasEmpty = $.grep($form.serializeArray(), function(el) {
            return !$.trim(el.value);
        }).length || $radio.length == 0;
    
        if (hasEmpty) {
            alert("yes");
        } else {
            alert("no")
        }
    });