JQuery - 按 Class 和值过滤输入

JQuery - Filter Inputs by Class and Value

我目前正在使用 AJAX 提交表单值,我需要通过 class 而不是 id 获取值 - 我正在收集信息的表单将在其中多次使用网络应用程序。我使用的是 Framework7 和 Cordova 的组合,因此所有内容都在应用程序启动时加载到 DOM。

所以,假设我有 DOM 这些项目:

<html>
   <div class="page1"> 
      <input type="text" class="text-foo" />
   </div>

   ....

   <div class="page1244">
      <input type="text" class="text-foo" />
   </div>
</html>

显示表格时,我打算这样做以清除所有表格数据:

$(".text-foo").val("");

但现在我需要从这些输入中获取第一个非空值。理想情况下,JQuery 选择器应该是这样的:

var valueFoo = $(".text-foo").firstNonBlankVal();
//submit the form with elite psuedocode
$.ajax(url: url + "?foo=" + escape(valueFoo));

为每个表单项手动执行 for/each 循环,并检查每个迭代对象的非空值似乎......很浪费。有什么建议吗?

我认为 $.each 是最好的方法。 以下是代码片段..

var firstNonBlankedValue = "";
$(".text-foo").each(function(){
    if($(this).length > 0){
        firstNonBlankedValue = $(this).val();
        return;
    }
});
console.log(firstNonBlankedValue);

您还可以查看 JSFIDDLE