使用JS或jQuery检查所有输入的值是否为零

时间:2013-05-20 09:12:12

标签: javascript jquery

我试图检查所有输入(.productTextInput)的值是否为零。

如果它们全部为零,则执行警报,但仅当它们全部为零时才会显示。

我能够分别检查第一个和所有个体,但不能全部检查。

HTML

<div class="container">
    <div class="listQuantity">
        <input type="text" class="productTextInput" name="AddToCart_Amount" value="0">
    </div>
    <div class="listQuantity">
        <input type="text" class="productTextInput" name="AddToCart_Amount" value="0">
    </div>
    <div class="listQuantity">
        <input type="text" class="productTextInput" name="AddToCart_Amount" value="0">
    </div>
</div>

脚本

$('.productTextInput').each(function() {
    if ($(this).val() <= 1){
        alert("Must choose at least one product");
    } else {
        // do something
    }
});

5 个答案:

答案 0 :(得分:8)

您可以使用filter

if ($('.productTextInput').filter(function() {
        return parseInt(this.value, 10) !== 0;
    }).length === 0) {
    // They all have zero
}
else {
    // At least one has a non-zero value
}

答案 1 :(得分:6)

$input_val = true;
$('.productTextInput').each(function() {
    if ($.trim($(this).val()) <= 1){
        $input_val = false;
        return false;
    } else {
        // do something
    }
});

if(!$input_val){
    alert("Must choose at least one product");
}

答案 2 :(得分:1)

var valid = false;
$('.productTextInput').each(function() {
    if (!valid && this.value == 1){
        valid = true;
    }
});

if(!valid){
    alert("Must choose at least one product");
}

答案 3 :(得分:1)

$('.productTextInput').each(function( index, value ) {
    if (parseInt($(this).val())>0){alert("Must choose at least one product");}
});

答案 4 :(得分:0)

使用标志变量检查循环中的大小写

var flag = true;
$('.productTextInput').each(function() {
    if ($(this).val() != 0){
        flag = false;
        return false
    }
});

if(!flag){
    alert('at least one is more than 0')
}