我在div(parent1)中有一组单选按钮,根据页面上的其他设置通过javascript显示或隐藏。
<div class="parent1">
<input type="radio" name="legal_14" id="legal_14a" value="1" class="legal_14"/> <label for="legal_14a">option 1</label><br/>
<input type="radio" name="legal_14" id="legal_14b" value="2" class="legal_14"/> <label for="legal_14b">option 2</label><br/>
<input type="radio" name="legal_14" id="legal_14c" value="3" class="legal_14"/> <label for="legal_14c">option 3</label><br/>
<span class="val-error"></span><br/>
</div>
我只想验证单选按钮是否可见。所以我有一个依赖回调来处理这种情况,如下:
"legal_14": {
required: function() {if (!$('.parent1').is(':visible')) {console.log(false); return false;} else if ($("input[name='legal_14']:checked").length > 0) {console.log(false); return false;} else {console.log(true); return true;}}},
...
errorPlacement: function(error, element) {
element.nextAll(".val-error").first().html(error.html());
},
success: function(label) {
label.nextAll(".val-error").first().html();
}
因此,这适用于在正确的情况下显示错误消息(即,当按钮可见但未单击时)。问题是,一旦我选择了其中一个单选按钮,console.log就会正确返回false,但错误消息不会消失。我在其他地方有一个类似的依赖回调,它不依赖于工作正常的可见性。我做错了什么?
答案 0 :(得分:0)
根据我的理解,这应该有效:
if($(".parent1").is(":visible"))
{
// do validation
// return message
}