Почему то у меня проверяет только один input
вместо каждого с name=one
. Кто может подсказать как сделать проверку каждого input name="one"
?
$(document).ready(function () {
var inputRequired = $( "input[name='one']" );
$('button').on('click', function() {
if( !inputRequired.val() ) {
console.log("Error");
$(this).parent().find("input[name='one']").val("").addClass('error');
} else {
console.log("OK!");
}
})
});
input {
display: flex;
margin: 5px;
}
button {
display: flex;
margin: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input class="date" type="text" name="one" >
<input class="name" type="text" name="one" >
<input class="money" type="text" name="one" >
<input class="price" type="text" >
<button>Click</button>
</div>
input
-а можно проверять отдельно с помощью метода each. Либо можно сразу отфильтровать input
-ы с некорректными значениями с помощью метода filtererror
, надо полагать, нужно добавлять только тем input
-ам, у которых некорректное значениеerror
стоит убирать у тех элементов, значение которых стало валиднымВ итоге получается так:
$(document).ready(function() {
var $inputsRequired = $("input[name='one']");
$("button").on("click", function() {
$inputsRequired.removeClass("error");
var $incorrectInputs = $inputsRequired.filter(function() {
return this.value == "";
});
if ($incorrectInputs.length != 0) {
console.log("Error");
$incorrectInputs.val("").addClass("error");
}
else {
console.log("OK!");
}
});
});
input {
display: flex;
margin: 5px;
}
button {
display: flex;
margin: 5px;
}
.error {
background-color: red;
}
<div>
<input class="date" type="text" name="one">
<input class="name" type="text" name="one">
<input class="money" type="text" name="one">
<input class="price" type="text">
<button>Click</button>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$(document).ready(function () {
var inputRequired = $( "[name = 'one']" );
$('button').on('click', function() {
if( !inputRequired.val() ) {
console.log("Error");
$(this).parent().find("[name = 'one']").val("").addClass('error');
} else {
console.log("OK!");
}
});
});
Также более современно будет использовать вместо:
$(document).ready(function () {
// Ваш код
});
Это:
$(function() {
// Ваш код
});
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Стоит задача изdocx документа импортировать текст в md
Есть две таблицы связанные по двум колонкам