如何在jquery中同时找到所有输入元素的值

Posted

技术标签:

【中文标题】如何在jquery中同时找到所有输入元素的值【英文标题】:how can find all input elements value at same time in jquery 【发布时间】:2016-01-31 17:27:44 【问题描述】:

我的问题是如何找到所有输入元素并搜索它们的值? 我想搜索所有具有相同名称的输入元素,查找输入的值是否为空并警告如下:

var emptyCheck = "";
function emptyOrNot() 
    if ($('[id="empty"]').val() == "") 
        emptyCheck = "empty";
    
    else 
        emptyCheck = "filled";
    

这段代码只找到表单中的第一个输入元素,不能全部找到。结果会出错。

【问题讨论】:

1. ID 应该唯一的2. $('[name="empty"]') 将选择多个元素,因此您需要使用 each 迭代它们。 $('[id="empty"]' 你正在使用 id。ID 总是并且必须是唯一的使用类 使用前面所说的类然后使用过滤器jq方法:if($('.empty').filter(function()return !this.value.trim();).length) alert('At least one .empty element has no value!'); 。另一种选择是使用required 属性:form validation support 【参考方案1】:

您也可以使用 $.each 来检查它们。您是否正在制作自己的表单验证? :)

好的,你的代码可以是这样的:

function emptyOrNot() 
    var emptyCheck = 0;
    $('input').each(function()

        if ($(this).val() == "") 
            emptyCheck++;
        
   )
   if(emptyCheck == 0)
        return true;

   else
     return false;
   

【讨论】:

应该验证只有空格的输入吗?重复ID怎么办?无论如何,这里element不是jq对象,使用$(element).val()或者更好的element.value 我刚刚更新了他的代码。所以也许他希望用户通过空格传递表单:) 你对选择器是正确的。用 $(this) 更正它现在应该可以了。 最好,只是元素有问题,您已纠正,谢谢

以上是关于如何在jquery中同时找到所有输入元素的值的主要内容,如果未能解决你的问题,请参考以下文章

如何在输入元素的max属性中找到值

在 jQuery 中,如何添加小数位数的值?

如何将多个元素插入到 JQuery 中的数组中?

我们如何找到附加到 DOM 元素的所有事件

jQuery如何获取多个input输入框的值,并存放在一个数组中

如何在 DOM(javascript 或 jquery)中显示元素的值?