JQuery动态函数隐藏元素

JQuery dynamic function hide element

本文关键字:元素 隐藏 函数 动态 JQuery      更新时间:2023-09-26

我有一个表单

   <div class="componenti_attive riquadro" style="display: block;">
<h2>LE COMPONENTI POSITIVE DEL TUO BILANCIO</h2>
<p class="title redd1 has-success" style="display: block;">Reddito mensile del primo componente
<input name="reddito1" type="text" class="form-control num positivi valid" placeholder="Redditi primo componente ..." data-validation="number" data-validation-error-msg="Inserisci solo numeri senza virgole e decimali!" data-validation-optional="true" style=""></p>
<div class="btnPrint indietro1"><h2 class="stamp printMe">INDIETRO</h2></div>
<div class="btnPrint avanti2 avant"><h2 class="stamp printMe">AVANTI</h2></div>
</div>

我有jquery Validator(输入对象必须是数字)如果出现错误,必须出现一个跨度对象(类形式错误):

<p class="title redd_altri1 has-error" style="display: block;">Indicare il totale degli altri redditi (es. pensioni, indennità, rendite, etc.)
<input name="altri_redditi" type="text" class="num positivi form-control error" placeholder="Inserisci qui il totale mensile degli altri redditi ..." data-validation="number" data-validation-error-msg="Inserisci solo numeri senza virgole e decimali!" data-validation-optional="true" style="border-color: red;"><span class="help-block form-error">Inserisci solo numeri senza virgole e decimali!</span></p>

我希望,如果这个对象被显示,那么div类avant就是隐藏

<div class="btnPrint avanti2 avant"><h2 class="stamp printMe">AVANTI</h2></div>

我有这个js

$form.on('change', '.num',  function ()
   {var $errori = $('.form-error').length;
if ($errori > 0)
    {$('.avant').hide();}
    else {$('.avant').show();}
            });

但它不起作用!!

这只是一个建议,
但如果您想让div avant消失,如果字段中输入的数字不正确,即使没有插件也可以获得结果
您可以使用正则表达式。(小提琴)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('.avant').hide()
    var tot=/^[+-]?'d+('.'d+)?([eE][+-]?'d+)?$/
    $('input').on('keyup',function(){
        var str = $(this).val();
        if(tot.test(str)) {
          $('.form-error').hide()
           }else{$('.form-error').show()}
           if($('.form-error').is(':visible')){
               $('.avant').hide()
               }else{
                $('.avant').show()   
                }
        })
})
</script>

由于没有完整的代码,我不得不选择这个解决方案。谢谢你。