【问题标题】:how can find all input elements value at same time in jquery如何在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

标签: jquery dom select element forms


【解决方案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) 更正它现在应该可以了。
  • 最好,只是元素有问题,您已纠正,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-12
  • 2014-08-21
  • 2011-01-25
  • 2019-08-09
  • 2021-01-31
  • 1970-01-01
相关资源
最近更新 更多