2
我在div(parent1)中有一組單選按鈕,根據頁面上的其他設置通過javascript顯示或隱藏。無法讓jQuery Validation插件錯誤消息消失
<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,但錯誤消息不會消失。我在其他地方有一個類似的依賴回調,不依賴於可見性,工作得很好。我究竟做錯了什麼?
這基本上是我在做什麼,但我也檢查是否實際被選中的複選框之一。我從我的函數中得到了正確的返回值,它似乎沒有清除錯誤信息。 –