Моя проблема касается проверки jquery. У меня есть форма, и проверка работает над полем ввода, но я не понимаю, как использовать проверку на переключателе, потому что у меня есть три переключателя, и пользователь может выбрать только одну. Все переключатели имеют свои поля. Я должен установить валидацию на нем.
Пример: я выбираю первое радио, затем пользователь должен также ввести поля book1 и book2. Если вы выбрали второе радио, тогда пользователь должен ввести значение в поля fruit1 и fruit2.
Если пользователь выбрал только радиокнопку и не заполнил поля, а нажал кнопку "Отправить", то должна отобразиться проверка.
Я попробовал код. Это работает для первой радиокнопки, но что если любой пользователь выберет вторую радиокнопку?
Это вывод, который я получаю.
Радиокнопка Книга проверяется с помощью проверки Jquery, если поля пусты
Обратите внимание, здесь я выбираю фрукты и нажимаю кнопку подтверждения, но проверка не отображается
Причина в том, что я не получаю, потому что я добавил только проверку радио-кнопки книги Теперь, как использовать для фруктов и предметов?
book1: {required: true},
book2: {required: true}
$(document).ready(function() {
$("input[name='books_fruit_sub']").click(function() {
var test = $(this).val();
$(".show_fields").hide();
$("#show" + test).show();
});
$('#form').validate({ // initialize the plugin
rules: {
mobile: {
required: true,
number: true,
minlength: 10,
maxlength: 10
},
book1: {
required: true
},
book2: {
required: true
}
},
submitHandler: function(form) { // for demo
form.submit();
}
});
});
ul {
text-decoration: none;
margin: 0;
padding: 0;
}
ul li {
display: inline-block;
}
.error {
color: red;
}
<form action="" id="form">
<input type="text" name="mobile" placeholder="Mobile">
<ul>
<li>
<input type="radio" name="books_fruit_sub" id="books" value="books" checked>
<label for="books">Books</label>
</li>
<li>
<input type="radio" name="books_fruit_sub" id="fruit" value="fruit">
<label for="fruit">Fruit </label>
</li>
<li>
<input type="radio" name="books_fruit_sub" id="subject" value="subject">
<label for="subject">Subject </label>
</li>
</ul>
<div>
<div class="show_fields" id="showbooks">
<input type="text" name="book1" placeholder="Book 1">
<input type="text" name="book2" placeholder="Book 2">
</div>
<div class="show_fields" id="showfruit" style="display: none;">
<input type="text" name="fruit1" placeholder="Fruit 1">
<input type="text" name="fruit2" placeholder="Fruit 2">
</div>
<div class="show_fields" id="showsubject" style="display: none;">
<input type="text" name="subject1" placeholder="Subject 1">
<input type="text" name="subject2" placeholder="Subject 2">
</div>
</div>
<input type="submit" name="send" value="Submit">
</form>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>