Самый простой способ, который я нашел, это добавить класс к вашему текстовому полю, например 'requiredField'.
<input type="text" class="requiredField" />
Затем вы можете получить все необходимые поля в таблице, используя функцию 'find'.
textboxes = $('#tableid').find('.requiredField');
, а затем перебрать их, используя функцию 'each'
textboxes.each(function() {
if(this.value.length==0){
//do something here
}
}
Подобным образом я обычно окрашиваю текстовое поле в красный цвет и добавляю предупреждение, сообщающее пользователю, что он должен заполнить все обязательные поля.
Вот окончательный код.
requiredFields = $('#tableid').find('.requiredField');
var allFieldsComplete = true;
requiredFields.each(function(index) {
if (this.value.length == 0) {
$(this).addClass('requiredIncomplete');
allFieldsComplete = false;
} else {
$(this).removeClass('requiredIncomplete');
}
});
if(!allFieldsComplete){
alert('Please complete all required fields');
}
return allFieldsComplete;
Вам также необходимо указать стиль 'requiredIncomplete' в вашем CSS. Для этого нужно проверить все текстовые поля в таблице, чтобы увидеть, содержат ли они данные. Если текстовое поле не содержит данных, оно добавляет к нему класс requiredIncomplete (который содержит некоторые стили, позволяющие отделить его от других текстовых полей), в противном случае класс удаляется. Затем он вернет true, если все поля содержат данные, или false, если в одном из них отсутствуют данные.