.each函数()用于克隆输入

时间:2014-04-26 21:59:33

标签: javascript jquery

尝试创建预览表单,但不理解为什么每个函数()都不在此脚本中。或者仅适用于最后克隆的行,并忽略先前克隆的输入中的零值。

$('input[id^=Mult_factor_]').each(function () {
    var MultFactor = $(this).val();
    var TotPoints = $('#Tot_points').val();
    var exp1 = "Overload";
    var exp2 = "Load is: ";
    if (MultFactor < 1 || TotPoints > 100) {
        $('#ExemptionLimitsText').text(exp1).show();
        $('#PrwTotPointsText').hide();
    } else {
        $('#ExemptionLimitsText').text(exp2).show();
        $('#PrwTotPointsText').text($('#Tot_points').val()).show();
    }
});

JSfiddle

我需要:如果克隆的MultiFactor值中至少有一个为零,则显示“Overload” enter image description here

2 个答案:

答案 0 :(得分:1)

根据您的评论,如果“附加”字段超过100或任何多因素字段为0,则您希望显示单词“Overload”。

但是,如果满足其中任何一个条件,您的循环将继续处理。

请勿使用循环,而是专门搜索multifaktor值为0。

var totalPoints = parseInt($('#Tot_points').val());
if(totalPoints > 100 || $('input[name="MultFaktor"]').filter(function(){return this.value=='0'}).length > 0) {
    $('#ExemptionLimitsText').text("Overload").show();
    $('#PrwTotPointsText').hide();
} else {
    $('#ExemptionLimitsText').text("Load is: ").show();
    $('#PrwTotPointsText').text(totalPoints).show();
}

答案 1 :(得分:0)

过载时返回false

var valid = true;
var exp1 = "Overload";
var exp2 = "Load is: ";
var TotPoints = $('#Tot_points').val();

$('input[name=MultFaktor]').each(function () {
    var $this = $(this);
    if ($.trim($(this).val()) == '0' || TotPoints > 100) {
        valid = false;
    } else {
        $('#ExemptionLimitsText').text(exp2).show();
        $('#PrwTotPointsText').text($('#Tot_points').val()).show();
    }
});

if (valid == false) {
    e.preventDefault();
    $('#ExemptionLimitsText').text(exp1).show();
    $('#PrwTotPointsText').hide();
}