验证时取消隐藏jquery中的特定字段

unhiding specific field in jquery when validating

本文关键字:字段 jquery 取消 隐藏 验证      更新时间:2023-09-26

编辑:

我使用的是jquery验证插件。所有的错误消息实际上都显示在后台,但我最初隐藏了它们。当我检查该输入字段时,如果它无效,我想取消隐藏错误消息。我不希望所有的错误消息都已经弹出到其他字段中。我经常使用$('#form').valid()。我这么做的原因是我需要以某种方式与我现有的按钮同步。我需要有jquery验证插件来不断检查$('#form').valid(),这样我就可以匹配我的ON和OFF IMG按钮。IMG ON和OFF相应地显示()或隐藏()。

现在我已经隐藏了所有.error <div>。有没有办法只取消隐藏那个<div class="error">。假设我正在检查第二个输入#error2。如果出现错误,我只想使用此关键字取消隐藏<div class="error"><div id="error2"> </div></div>?我只想取消隐藏此部分。

$('.error this').show();

例如:

<div id="#form">
    <input type="text" data-error="#error1"/>
    <div class="error">
       <div id="error1"> </div>
    </div>
    <input type="text" data-error="#error2"/>
    <div class="error">
       <div id="error2"> </div>
    </div>
    <input type="text" data-error="#error3"/>
    <div class="error">
       <div id="error3"> </div>
    </div>
    <img id="on">ON BUTTON</img>
    <img id="off">OFF BUTTON</img>
</div>

您可以使用以下jQuery代码:

$(this).parent().show();

yes

if ($('div').hasClass('.error'))
 {
     $(this).show();
     $(this).find('div').show();
 }

怎么样:

$('#error2').parent().show();

尝试

$("[data-error],.error").hide();
$("#error2").parent().show().prev().show();

DEMO