В основном у меня есть таблица элементов, как это:JQuery добавить класс недействительных текстовое поле
<table id="items">
<th>Description</th><th>Qty. In Stock</th><th>Qty. To Issue</th>
<tr><td>description of item</td><td>1</td><td><input type="text" class="qtyissued"></td></tr>
<tr><td>item</td><td>3</td><td><input type="text" class="qtyissued"></td></tr>
</table>
Стол в виде модального JQuery. Пользователь вводит сумму в текстовое поле элементов для выпуска из текущего количества на складе. У меня есть проверка, которая останавливает их при вводе 0 или больше доступного количества.
Что я хочу сделать, это добавить класс в текстовое поле, если он содержит недопустимое число, например. 0. Я пытался делать
$('.qtyissued').closest('.qtyissued').addClass('ui-state-error');
$('#items').closest('tr').find('td:eq(0)').addClass("ui-state-error");
$('.qtyissued').closest('input:text').addClass('ui-state-error');
Но ни один из них не работает, я знаю, что могу использовать $('.qtyissued).addClass('ui-state-error');
но это будет добавить класс на все поля ввода, даже годные.
Я вызываю функцию по нажатию кнопки из модальной формы, которая затем вызывает:
var qty = $(this).closest('tr').find('td:eq(2)').text();
if(qtyissued == "" || qtyissued== 0 || qtyissued> qty) {
$(".qtyissued").each(function(){
if($(this).val()=='0'){
$(this).addClass("ui-state-error")
}
})
updateError("Please enter a valid quantity"); //Function to add error message
}
Есть ли способ, где я могу только добавить класс недействительных текстовых полей.
вы можете сделать jsfiddle пожалуйста –
'$ ближе ('qtyissued. '). (' Ввода: текст')' означает ближайший родительский элемент и входы не могут иметь детей – Pete
I думаю, у вас есть ссылка на ввод, который вы проверяете для .. Итак, при проверке вы можете просто использовать $ (). addClass ('ui-state-error'); –