[英]How can i add a class on two same class name using a each function jquery?
I am trying to add class
on two input
type date using classname
, how ever it is only applying on one input
.我正在尝试使用
classname
名在两个input
类型日期上添加class
,但它只适用于一个input
。 Here is the code below:下面是代码:
var caliqui_button = $("#caliqui-submit"); $(caliqui_button).click( function(e) { e.preventDefault(); var fields = $(".date_caliqui"); fields.each(function() { if($(this).hasClass("date_caliqui")){ errortInput(this); return false; } }); }); function errortInput(id){ $(id).addClass('error'); setTimeout(function() { $(id).removeClass('error'); }, 300); }
.error { position: relative; animation: shake.1s linear; animation-iteration-count: 3; border: 1px solid red; outline: none; } @keyframes shake { 0% { left: -5px; } 100% { right: -5px; } }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="date" class="form-control form-control-sm date_caliqui" id="date_caliqui" name="date_caliqui[]"> <input type="date" class="form-control form-control-sm date_caliqui" id="date_caliqui" name="date_caliqui[]"> <button type="submit" class="btn btn-primary" id="caliqui-submit">Submit</button>
var caliqui_button = $("#caliqui-submit"); var fields = $(".date_caliqui"); $(caliqui_button).click( function(e) { e.preventDefault(); fields.each(function() { errortInput(this); }); }); function errortInput(element){ $(element).addClass('error'); setTimeout(function() { $(element).removeClass('error'); }, 2000); }
.error { position: relative; animation: shake.1s linear; animation-iteration-count: 3; border: 1px solid red; outline: none; } @keyframes shake { 0% { left: -5px; } 100% { right: -5px; } }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="date" class="form-control form-control-sm date_caliqui" id="date_caliqui_0" name="date_caliqui[]"> <input type="date" class="form-control form-control-sm date_caliqui" id="date_caliqui_1" name="date_caliqui[]"> <button type="submit" class="btn btn-primary" id="caliqui-submit">Submit</button>
return false
will stop function from executing so after first input function will not run. return false
将停止 function 执行,因此在第一次输入 function 后将不会运行。 You should remove return false
in order to make it work.您应该删除
return false
以使其正常工作。 Also inputs should have a unique ID - See more here .输入也应该有一个唯一的 ID -在此处查看更多信息。 I tweaked your code a little bit but this should work.
我稍微调整了您的代码,但这应该可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.