Выборка значений option select'a
У меня на странице есть несколько форм (10) с идентичными select'ами. Нужно сделать проверку на изменение перед отправкой данных на сервер. Посоветуйте, пожалуйста, как лучше сделать.
Я пошел таким путем. if( $('select[name="name"]').val()== 0 ){ notify( 'Укажите раздел для всех елементов' , 'error'); } else { sendFormToServer( ); после этого хочу навешать класс на все формы где селект не был изменен. И с этим как-то проблема)) Есть вариант с событием on.change? но как тогда отлавливать это изменение перед ПОСТом...? Как бы вы сделали? |
Цитата:
|
<div class="form"> <select> <option value="0">Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3" selected>3</option> </select> </div> <div class="form"> <select> <option value="0" selected>Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> <div class="form"> <select> <option value="0" selected>Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> допустим вот три таких формы. Мне нужно выбрать те формы, селекты которых не изменены, то есть те где option.val == 0 |
<style> .form{ margin: 10px 0; -webkit-transition: box-shadow 0.5s; -moz-transition: box-shadow 0.5s; transition: box-shadow 0.5s; } .form.error{ box-shadow: 0 0 5px #f00; border-radius: 3px; } </style> <div class="form"> <select> <option value="0">Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3" selected>3</option> </select> </div> <div class="form"> <select> <option value="0" selected>Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> <div class="form"> <select> <option value="0" selected>Choose...</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </div> <script src="//code.jquery.com/jquery-latest.js"></script> <script> function submit() { var valid = true; $('.form').each(function(){ if ($('select', this).val() == 0) { $(this).addClass('error'); valid = false; } else { $(this).removeClass('error'); } }); if (valid) { // submit } else { // notify } } </script> <button onclick="submit()">Отправить</button> |
Спасибо тебе большое. А то я уже накостылил))
|
Часовой пояс GMT +3, время: 21:45. |