Здравствуйте.
Есть вот таких 18 input'тов
Первые 5 нужно сверить с массивом firstPi[] (это первая колонка 5 элементов)
Вторые 5 нужно сверить с массивом secondPi[] (это вторая колонка 5 элементов)
Третье 5 нужно сверить с массивом defPi[] (это третья колонка 5 элементов)
А для остальных последних 3 input'тов, которые расположены внизу, у меня для каждой из них функции с формулами.
В общем на данный момент имеется вот такой через жопу написанный код мною )).
$('.step-but-3').on('click', function(){
var isTrue = true;
$(".p1").each(function(i, el){
var v = f1ToFloat(el.value);
if(v != firstPi[i]){
alert("Неправильный P'"+(i+1)+". Исправьте и заново нажмите на кнопку.");
isTrue = false;
$(el).addClass('error');
return false;
} else{
$(el).removeClass('error');
}
});
if(!isTrue) return;
$(".p2").each(function(i, el){
var v = f1ToFloat(el.value);
if(v != secondPi[i]){
alert("Неправильный P''"+(i+1)+". Исправьте и заново нажмите на кнопку.");
isTrue = false;
$(el).addClass('error');
return false;
} else{
$(el).removeClass('error');
}
});
if(!isTrue) return;
$(".pid").each(function(i, el){
var v = f1ToFloat(el.value);
if(v != defPi[i]){
alert("Неправильный P"+(i+1)+" общ. Исправьте и заново нажмите на кнопку.");
$(el).addClass('error');
return false;
} else{
$(el).removeClass('error');
}
});
if(!isTrue) return;
if(f1ToFloat($(".pi2-1").val()) != pi2f()){
$(".pi2-1").addClass('error');
alert("Неправильный P2' Исправьте и заново нажмите на кнопку.");
return false;
} else {
$('.pi2-1').removeClass('error');
}
if(!isTrue) return;
if(f1ToFloat($(".pi2-2").val()) != pi2s()){
$(".pi2-2").addClass('error');
alert("Неправильный P2'' Исправьте и заново нажмите на кнопку.");
return false;
} else {
$('.pi2-2').removeClass('error');
}
if(!isTrue) return;
if(f1ToFloat($(".pi2-def").val()) != pi2d()){
$(".pi2-def").addClass('error');
alert("Неправильный P2 общ Исправьте и заново нажмите на кнопку.");
return false;
} else {
$('.pi2-def').removeClass('error');
}
alert('Значение введены верно.');
});
Соответственно здесь видно, что при нажатии на кнопку, она проверяет вначале 5 элементов (класс .p1), затем другие столбцы и тд, код часто повторяется, типа оставнока действий если значение не правильно + добавление класса error и т.д.
Поэтому я решил для всех input'тов добавить класс each к примеру, и через один each проверить все input'ты и сделать аккуратный и приятный код.
$('.each').each(function(i, el){
var date = $(el).value;
console.log(data);
if(el <= 5){
if(data != firstPi[i]){
$(el).addClass('error');
alert("Неправильный P'"+(i+1)+". Исправьте и заново нажмите на кнопку.");
}
} else {
$(el).removeClass('error');
}
});
Вот таким способом хотел проверку сделать первых 5 input'тов, но что-то не так пошло.