JQuery动态函数隐藏元素

时间:2014-04-08 15:11:36

标签: javascript jquery html

我有一张表格

   <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(输入对象必须是数字) 如果出现错误,必须出现span对象(类形式错误):

<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就是hide

<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();}
            });

但它不起作用!!

1 个答案:

答案 0 :(得分:1)

这只是一个建议,但是如果你想在字段中输入的数字不正确的话就消失了div avant,即使没有插件,你也可以获得结果 你可以使用正则表达式。(fiddle

<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>

没有完整的代码我必须选择此解决方案。 .. ciao alla prossima。