jQuery克隆验证不适用于HTML下拉列表

时间:2015-09-21 09:43:44

标签: javascript jquery html

在jQuery中使用clone。使用我当前的代码原始div获得克隆验证工作正常的原始和克隆一个。这些都与我的代码一起使用。

  1. 最初,如果用户点击下一步按钮,则会将消息显示为您错过了7个字段。请在提交前填写。一旦用户开始填写字段,它将自动开始减少。
  2. 如果用户点击了添加更多按钮,它将被克隆到div。
  3. 一旦用户开始填写克隆的任何字段,如果用户点击下一个按钮,他将错过其余的必填字段,这将显示错过的许多字段。
  4. 下面的东西不起作用:

    1. 使用我当前的代码,如果我在克隆的div中选择下拉/单选按钮验证无法正常工作
    2. 克隆后的验证计数错误

      function bind_change_events(){
      $('.cloned_field').on('input',function(e){ 
          if($(this).val().trim().length > 0)
          {
              //$(this).removeClass("cloned_field");
              $(this).addClass("required_field");
              var parent_div = $(this).closest("div.cloned-row1,div.cloned-row2,div.cloned-row3,div.cloned-row4,div.cloned-row5").find("input","select");
              parent_div.each(function () {
                  $(this).addClass("required_field");
              });
          } 
          check_for_validation_removal($(this));
          bind_validation();
      });
      }
      
    3. 这是updated fiddle

1 个答案:

答案 0 :(得分:1)

克隆元素时,不要克隆类.required_field。在您的代码中仅对该类添加了required: true部分。

我现在发现问题肯定在你的克隆部分。

if($(this).hasClass("required_field"))
{
   $(this).removeClass("required_field");
   $(this).addClass("cloned_field");
   //$(this).addClass("errRed");
}else{
   $(this).removeClass("errRed");
   $(this).removeClass("text-error-red");
}

如果它具有required_field类,则将其删除。 所以我刚刚删除了这一行$(this).removeClass("required_field");,当添加更多教育表单时,它增加了未填充的计数。

我刚刚测试了第二个克隆部分的相同想法。这就完成了工作。所以这是计数的解决方案。

现在你谈论克隆的div或单选按钮在你的代码中不起作用,在liveweave代码中,下拉列表对我有效,因为我找不到任何单选按钮。

请尝试我指定的答案,如果存在任何问题,请更新您的问题或在此处发表评论。