【问题标题】:Checking input fields on page load?检查页面加载时的输入字段?
【发布时间】:2012-03-03 19:22:26
【问题描述】:

文档加载时如何检查所有输入框是否有值?

$(document).ready(function(){
   var inputVal=$("input").val().trim();
   if(inputVal!=''){
   }
})

我想对任何具有值的输入框执行操作。

【问题讨论】:

    标签: jquery input document-ready


    【解决方案1】:

    这是一种方式:

    $('input, select, textarea').each(
        function(){
            var val = $(this).val().trim();
            if (val == ''){
                // do stuff with the non-valued element
            }
        });
    

    仔细阅读后,似乎 OP 想要对非空字段做一些事情,所以:

    $('input, select, textarea').each(
        function(){
            var val = $(this).val().trim();
            if (val.length){
                // do stuff with the valued element
            }
        });
    

    【讨论】:

    • 伟大的每个功能循环通过
    • 好吧,我假设您想遍历所有inputs?你的实际用例是什么?
    【解决方案2】:
    var fields = $("input, textarea, select"), i = 0;
    
    for(i; i < fields.length; i++){
        if(fields.eq(i).val() !='') { /* ... logic ... */ }
    }
    

    【讨论】:

      【解决方案3】:

      另一种创建具有价值的输入的 jQuery 对象的方法

      $("input").filter(function(){
          return $(trim(this.value)) !='';                      
      }).doSomething();
      

      【讨论】:

        【解决方案4】:

        您可以使用 type="text' 对所有输入进行循环。

         $("input[type='text']").each(function(){
           alert($(this).val()); 
        });
        

        示例html如下

        ​<input type="text" name="input1" value="2"/>
        <input type="text" name="input2" value="4"/>
        <input type="text" name="input3" value="5"/>​
        

        如果您想在循环中包含 select 或其他输入元素,您可以按照 David Thomas 的建议进行操作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-01
          • 2016-05-11
          • 1970-01-01
          • 2021-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多