Содержимое под скрытым div должно проверяться только при активном div. Но в моем случае сообщение об ошибке не работает для случая «Слон». код в http://jsfiddle.net/2eRsm/ для получения более подробной информации, спасибо заранееПроверка JQuery со скрытым содержимым
<form>
Choose your animal
<select id="selectMenu">
<option></option>
<option value="monkey">Monkey</option>
<option value="elephant">Elephant</option>
</select>
<div class="mon">Monkey:
<input type="text" class="required" name="mon"/>
<p id="error-msg"> </p>
</div>
<div class="ele">Elephant:
<input type="text" class="required" name="ele"/>
<p id="error-msg"> </p>
</div>
<button>submit</button>
</form>
//js
$(document).ready(function() {
$("#selectMenu").bind("change", function() {
if ($(this).val() == "monkey") {
$(".mon").slideDown();
$(".ele").slideUp();
}
else if($(this).val() =="elephant") {
$(".ele").slideDown();
$(".mon").slideUp();
}
});
});
$("button").click(function(){
$("form").submit();
});
$("form").validate({
ignore:":hidden",
rules: {
name: ["mon", "ele"]
},
errorPlacement: function(error, element) {
error.appendTo($('#error-msg'))
},
invalidHandler: function(form, validator) {
console.log("error");
},
submitHandler: function(form) {
console.log("no error");
}
});
//css
input {
border: 1px solid #666;
margin: 10px;
padding: 3px;
}
p{
display:inline;
color: red;
}
.mon,.ele{
display: none;
}*
Найди мне ошибку ? Вы что-то пробовали? Вы получаете какие-либо ошибки? – putvande
да, я попытался изменить идентификатор p, я не получаю ошибку, он не отображает содержимое p под слоном div, хотя, возможно, для каждого div может понадобиться отдельный идентификатор – dochoex
Как уже упоминалось в ответе ниже , у вас есть дубликаты идентификаторов. Поскольку ваша проверка помещает ошибку в элемент с '# error-msg', она помещает только в первый найденный элемент. Таким образом, второй остается пустым. Вы можете попробовать что-то с именем класса (оба элемента могут иметь одно и то же имя класса) – putvande