2016-05-10 3 views
1

У меня есть форма, которая содержит 3 текстовых поля. То, что я хотел бы сделать, это найти, сколько прокручиваемым пользователь fullfiled, так что предупреждающее сообщение должно предупреждать пользователя каждый раз, оставил п-поля без завершения заполнения, что-то вроде:jquery - найдите, сколько текстовых объявлений было отправлено

"details missing for 2 out of 3 fields" // when submiting only the first one

"details missing for 1 out of 3 fields" // when submiting the first two text areas и т.д. и т.п.

Это мой сценарий

$('textarea[name="area1"]').on('keyup', function() { 
       $('#opt-remain').text($('#opt-remain').text()-1) 
      }); 
      $('textarea[name="area2"]').on('keyup', function() { 
       $('#opt-remain').text($('#opt-remain').text()-1) 
      }); 
      $('textarea[name="area3"]').on('keyup', function() { 
       $('#opt-remain').text($('#opt-remain').text()-1) 
      }); 

<div id="optional-alert" class="alert alert-warning" style="display:none; margin-bottom:0"> 
(<span id="opt-remain"></span> out of 3) 
</div> 

можно ли сделать это с помощью JQuery?

ответ

0

Вы могли бы упростить это, делая

$('form textarea').change(function() { 
    $('#optional-alert').show(); 
    var count = $('form textarea').filter(function(textarea) { 
     return ! $(this).val(); 
    }).length; 
    $('#opt-remain').text(count); 
}); 

https://jsfiddle.net/xktm3cwe/

+0

К сожалению, мой плохой, я не объяснил правильно, что я пытаюсь сделать, пожалуйста, просмотрите запись – Lykos

+0

Попробуйте удалить ': not() ', чтобы выбрать пустые:' $ ('form textarea: empty') ' –

+0

Не работает .. появляется предупреждение (как и ожидалось), говоря:« детали отсутствуют в 3 из 3 полей », но когда я отправляю 1-ю область, число не уменьшается (т.е. 2 из 3) и т. д. и т. д. – Lykos

Смежные вопросы