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

Javascript 使用JS或jQuery检查所有输入值是否为零,javascript,jquery,Javascript,Jquery,我试图检查所有输入(.productTextInput)是否都为零 如果它们都为零,则仅当它们都为零时才执行警报 我已经能够单独检查第一个和全部,但不是全部一起检查 HTML 剧本 $('.productTextInput').each(function() { if ($(this).val() <= 1){ alert("Must choose at least one product"); } else { // do someth

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

如果它们都为零,则仅当它们都为零时才执行警报

我已经能够单独检查第一个和全部,但不是全部一起检查

HTML


剧本

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

if($(this).val()使用标志变量检查循环中的大小写

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

if(!flag){
    alert('at least one is more than 0')
}
您可以为此使用:

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
}
$input\u val=true;
$('.productTextInput')。每个(函数(){

如果($.trim($(this).val())这一逻辑不正确,不是吗?请参阅我对Arun答案的评论(该答案实际上具有相同的代码)。是的,即使其中一个框是,它也会显示警报!0:Arun现在修复了他的问题,因此下面是我在上面提到的评论(我现在已删除该评论):“这种逻辑是不正确的,不是吗?你用flag=true表示它们都是0,但如果其中任何一个是@t.J.Crowder,你就把你的flag设置为false。是的,修复了这个问题problem@DarrenDavies:Yeah.:-)但是如果您更改
.each
测试以使用
this.value
而不是完全不必要的
$(this.val())
,它几乎赶上了:(速度在这里并不重要)在有人再次发布之前:不,你不能使用
$('.productTextInput[value=“0”]')
为此,它检查属性,而不是用户输入的内容:()输入一个非零值并单击按钮。
var valid = false;
$('.productTextInput').each(function() {
    if (!valid && this.value == 1){
        valid = true;
    }
});

if(!valid){
    alert("Must choose at least one product");
}
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
}
$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");
}
$('.productTextInput').each(function( index, value ) {
    if (parseInt($(this).val())>0){alert("Must choose at least one product");}
});