【问题标题】:validate dynamically added textbox验证动态添加的文本框
【发布时间】:2011-02-10 12:59:21
【问题描述】:

在下面的代码中,如何仅验证动态添加的文本框的空值,即 r_score1,r_score2.........

  <script>
   function validate()
   {
      //How to validate the r_Score.. textfields
   }
  $(document).ready(function() {
   for(var i=0;i< sen.length;i++)
   {
     row += '<input type="text" name="r_score'+i+'" id="r_score'+r_count+'" size="8" />';
    }
   $('#details').append(row);
   });
   </script>
   <div id="details"><input type="text" name="score' id="score" size="8" /></div>
  <input type="button" value="Save" id="print" onclick="javascript:validate();" />

【问题讨论】:

    标签: javascript jquery jquery-selectors jquery-validate


    【解决方案1】:

    给文本框一个类名并使用类选择器

    function validate()
       {
          var boxes = $("#details input:text.classname");
          boxes.each(function(){
              var currentVal = $(this).val();
              // do your validation here
          });
       }
    

    【讨论】:

    • Rahul 让我问你这个,什么时候用 id 什么时候用 class?
    • 由于您的 id 是动态生成的,因此您必须使用属性比较运算符来获取具有特定模式的所有元素。所以在这种情况下,我认为最好使用一个类来识别元素。
    • 如果你知道确切的 id 然后使用 id 选择器,因为它是最快的。否则使用标签和类选择器的组合。
    【解决方案2】:
    $("#details input[name^='r_score']").each(function(nr){
    
        if($(this).val() === "") alert("Field "+(nr+1)+" is empty");
    
    }); 
    

    【讨论】:

      【解决方案3】:

      使用live event 处理程序来动态添加内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-19
        • 1970-01-01
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多