jquery - 插入一个类到一个div和一行html

标签 jquery html css forms

我有这个代码:

<div class="form-group label-floating">
<label class="control-label">Name <small>(required)</small></label>
<input name="name" type="text" class="form-control">

<label for="name" generated="true" class="error"></label>

</div>

现在我想在这里插入一个.css类:

<div class="form-group label-floating HERE NEW CLASS">

现在基于那个可以是错误/成功的类,我想在输入行之后写一行html:

<span class="material-icons form-control-feedback">clear</span>

我想为表单中的每个字段都做这个。

如果出错应该是:

<div class="form-group label-floating **has-error**">
<label class="control-label">Name <small>(required)</small></label>
<input name="name" type="text" class="form-control">
**<span class="material-icons form-control-feedback">clear</span>**
<label for="name" generated="true" class="error"></label>
</div>

如果成功:

<div class="form-group label-floating **has-succes**">
<label class="control-label">Name <small>(required)</small></label>
<input name="name" type="text" class="form-control">
**<span class="material-icons form-control-feedback">done</span>**
<label for="name" generated="true" class="error"></label>
</div>

我这样做了:

errorPlacement: function(error, element) {
        $(element).parent('div').addClass('has-error');
        //$('.form-group').append('<span class="material-icons form-control-feedback">clear</span>'); // add the clear ico

     },
     success: function(element) {
        $(element).parent('div').addClass('has-success');
        //$('.form-group').append('<span class="material-icons form-control-feedback">done</span>'); // add done ico

     },

这是有效的,但是在纠正无效输入后仍然显示错误,如果我尝试放置错误/成功图标,它会显示多次。

此外,如果我尝试显示错误消息,错误/成功图标不会出现

最佳答案

使用 $('.form-group.label-floating').addClass("success"); 添加类。 我想这就是你想要的,可以让你去做你想做的事

$(function(){

  $('#btn').click(function(){
    $('.material-icons.form-control-feedback').remove();
    if($('input[type="text"]').val() != '') {
      $('.form-group.label-floating').addClass("has-success");
      $('input[type="text"]').after('<span class="material-icons form-control-feedback">done</span>');
    }
    else {
       $('.form-group.label-floating').addClass("has-success");
      $('input[type="text"]').after('<span class="material-icons form-control-feedback">clear</span>');
    }
    if($('input[type="email"]').val() != '') {
      $('.form-group.label-floating').addClass("has-success");
      $('input[type="email"]').after('<span class="material-icons form-control-feedback">done</span>');
    }
    else {
       $('.form-group.label-floating').addClass("has-success");
      $('input[type="email"]').after('<span class="material-icons form-control-feedback">clear</span>');
    }
  })
  
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group label-floating">
<label class="control-label">Name <small>(required)</small></label>
<input name="name" type="text" class="form-control">

<label for="name" generated="true" class="error"></label>

</div>
<div class="form-group label-floating">
<label class="control-label">Email <small>(required)</small></label>
<input name="email" type="email" class="form-control">

<label for="email" generated="true" class="error"></label>

</div>

<button id="btn" >submit</button>

关于jquery - 插入一个类到一个div和一行html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468844/

相关文章:

javascript - 带中断的 CSS 页面布局

html - 当溢出设置为隐藏时,嵌套的内联 block 元素在 FF/IE 中被上推

javascript - 在同一页面中克隆 Bootstrap-select

jquery - 为什么 DataTables 渲染函数被调用 3 次?

c# - 替换邮件链接

javascript - 如果隐藏另一个 div,则 div 宽度调整为 100%

css - 将元素放在另一个元素之上

javascript - 使用 jQuery 显示隐藏单独的 div

javascript - 使用 JS 创建用户屏幕截图并通过 ajax 问题发送到服务器

html - 为什么使用溢出 :hidden css in its container element? 下拉菜单不会出现在其容器下方