首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将css类动态添加到输入

如何将css类动态添加到输入
EN

Stack Overflow用户
提问于 2016-08-14 19:50:27
回答 3查看 1.9K关注 0票数 3
代码语言:javascript
复制
<div class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Password</label>
    <input confirm_password type="password" name="password" class="form-control" id="i2">
</div>

<div id="confirm_pwd_item" class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Confirm Password</label>
    <input confirm_password type="password" name="password_confirmation" class="form-control" id="i2">
</div>

我的方式

代码语言:javascript
复制
$('input[confirm_password]').each(function(){
    $(this).bind('input propertychange',function(){
        setTimeout(function(){
            if($('input[name=password]').val() !== $('input[name=password_confirmation]').val()){
                $("#confirm_pwd_item").addClass('has-error');
            }
            else{
                $("#confirm_pwd_item").removeClass('has-error');
            }
        },100)
    })
})

我才刚刚开始使用这个框架。

如果密码和确认密码不相等,我想将has-error添加到输入中。

然而,这不是一个好方法。

如果不是setTimeout函数:

EN

回答 3

Stack Overflow用户

发布于 2016-08-14 19:59:19

代码语言:javascript
复制
jQuery(document).ready(function($){
  $('input[name="password_confirmation"]').change(function(){
    var prevPass = $('input[name="password"]').val();
    if($(this).val() != prevPass){
      $(this).addClass('has-error');
    }
  });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Password</label>
    <input confirm_password type="password" name="password" class="form-control" id="i2">
</div>

<div id="confirm_pwd_item" class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Confirm Password</label>
    <input confirm_password type="password" name="password_confirmation" class="form-control" id="i2">
</div>

票数 0
EN

Stack Overflow用户

发布于 2016-08-14 20:01:58

代码语言:javascript
复制
$("input[type=password]").keyup(function(){
  var pass=$('#i2').val();
  var cpass=$('#ci2').val();
  if(pass!=cpass){
    $('input[type=password]').addClass('has-error');
  }else{
    $('input[type=password]').removeClass('has-error');
  }
});
代码语言:javascript
复制
.has-error{
  border: 1px solid #ff0000 !important;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Password</label>
    <input confirm_password type="password" name="password" class="form-control" id="i2">
</div>

<div id="confirm_pwd_item" class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Confirm Password</label>
    <input confirm_password type="password" name="password_confirmation" class="form-control" id="ci2">
</div>

<button type="button" class="btn btn-default" id="button">Click</button>

票数 0
EN

Stack Overflow用户

发布于 2016-08-14 20:40:46

您可以使用blur事件,在jQuery中可以使用toggleClass( className, state )

必须在相应的div上切换'has-error‘类。

代码语言:javascript
复制
$(function () {
  $('input[name="password_confirmation"]').on('blur', function (e) {
    var pwd = $('input[name="password"]').val();
    var confirmPwd = $(this).val();
    $(this).closest('div').toggleClass('has-error', pwd != confirmPwd);
  })
});
代码语言:javascript
复制
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

<div class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Password</label>
    <input confirm_password type="password" name="password" class="form-control" id="i1">
</div>

<div id="confirm_pwd_item" class="form-group label-floating is-empty">
    <label for="i2" class="control-label">Confirm Password</label>
    <input confirm_password type="password" name="password_confirmation" class="form-control" id="i2">
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38941944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档