检查输入是否为空,如果不是,则将类添加到父div

时间:2017-08-01 15:28:59

标签: javascript jquery html

我有很多这样的输入:

<div class="fg-line">
    <input type="text" class="form-control fg-input place-edit placeInformation" id="place_name">
    <label class="fg-label">Place Name</label>
</div>
<div class="fg-line">
    <input type="text" class="form-control fg-input place-edit placeInformation" id="place_address">
    <label class="fg-label">Place Address</label>
</div>

我从API获取一些数据,然后附加到这些输入(以便用户可以编辑)。

这很好用。问题是我想为此添加一个类:

<div class="fg-line">

如果我只有其中一个和一个输入,这很简单,但由于我有多个,我需要一些方法来检查每个输入,如果不是空,则添加类fg-toggled,使得该行变为:

<div class="fg-line fg-toggled">

如果我只有一个输入,我就这样做:

if (('#place_name').value != '' || ('#place_name').value != ('#place_name').defaultValue) {
  $('.fg-line').addClass('fg-toggle')
}

但我不知道怎么做而不为每个班级写出来(有30多个)。有没有办法以某种方式迭代这个?我尝试检查.place-edit,但由于它是一个类,如果该类的任何输入都不为空,那么它们都会添加新的类。

5 个答案:

答案 0 :(得分:2)

可以使用static tooltip

||

不确定&#34;默认&#34; 应该是什么或如何声明。可以在数据属性中设置,并将@Controller public class WelcomeController { // inject via application.properties @Value("${welcome.message:Hello}") private String message = "Hello World"; @RequestMapping("/") public String home(Map<String, Object> model) { model.put("message", this.message); return "index"; } } 添加到上面的过滤条件

答案 1 :(得分:2)

只需循环遍历每个输入并使用.closest()找到父级。

$('.placeInformation').each(function() {
    var $input = $(this);

    if ($input.val()) {
        var $parent = $input.closest('.fg-line');
        $parent.addClass('fg-toggled')
    }

});

Sample plunkr

答案 2 :(得分:1)

使用each()和最近的() 试试这个:

&#13;
&#13;
$(".fg-input").each(function() {

  if ($(this).val() != '') {
    $(this).closest(".fg-line").addClass('fg-toggle');
  }
})
&#13;
.fg-toggle
{
color:green;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="fg-line">
  <input type="text" class="form-control fg-input place-edit placeInformation" id="place_name">
  <label class="fg-label">Place Name</label>
</div>
<div class="fg-line">
  <input type="text" class="form-control fg-input place-edit placeInformation" id="place_address">
  <label class="fg-label">Place Address</label>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您可以循环遍历.place-edit类,然后检查值并将类添加到父级,如下所示:

$('.place-edit').each(function(){
    if($(this).val() != '' || $(this).val() != $(this).defaultValue) {
    $(this).parent().addClass('fg-toggle');
  }
})

答案 4 :(得分:-1)

试试这个..我假设他们都有同一个班级

 if (('#place_name').value != '' || ('#place_name').value != ('#place_name').defaultValue) {
  $('.fg-line').each(function(){
    $(this).addClass('fg-toggle')
  });
}