如果输入设置为0,如何从DOM中删除?

时间:2014-08-04 19:57:10

标签: jquery html-input

我是jQuery的新手。如果输入的值设置为0,我试图从DOM中删除div。所有div都有一个名为" item"的类,好像它们是购物车中的项目。

如果没有删除按钮设置为0,有没有办法删除每个div?

<div class="item">
  <label for="inputQuantity">Quantity</label>
  <input type="text" id="inputQuantity" placeholder="1">
</div>

<div class="item">
  <label for="inputQuantity">Quantity</label>
  <input type="text" id="inputQuantity" placeholder="1">
</div> 

http://jsfiddle.net/A9cm7/

2 个答案:

答案 0 :(得分:5)

你有重复的ID,去掉那些共同的类:

<div class="item">
  <label>Quantity</label>
  <input type="text" class="inputQuantity" placeholder="1">
</div>

然后做:

$(".item .inputQuantity").blur(function() {
    if (this.value == 0) {
        //remove it
        $(this).closest(".item").remove();
    }
})

这会在您的输入上设置blur处理程序,如果value 0 blur上{{1}},那么它将删除div。

答案 1 :(得分:0)

这是免费赠品,因为你是新手。下次,请在发布前努力。

我从您的问题中假设您希望在页面加载时删除元素,而不是使用操作的结果。

http://jsfiddle.net/isherwood/A9cm7/5

$(function () {
    $('.item input').each(function () {
        if ($(this).val() == '0' || $(this).val() == '') {
            $(this).closest('.item').remove();
        }
    });
});

这将检查&#39; 0&#39;和空值。