一个ajax文件中的函数执行多次

时间:2019-02-01 13:31:18

标签: javascript jquery ajax toggle slide

我有一些“切换”,当我打开每个切换时,我会调用一个执行另一个功能(带有单击动作)的ajax函数。 但是,如果我打开两个开关,那么click函数就会被调用两次。

我有一个调用此函数的PHP代码:

<script type="text/javascript">
$('.slide_action').click(function(){
    var val = $(this).attr('data')
    var acao = $(this).attr('acao')
    if ($(this).attr('busca') == 1) { //abre a primeira vez
        $(this).attr('busca',0);
        $('#slide_react_'+val).html('<div class="text-center"><img class="loadcalnp" src="<?=base_url('assets/img/load_calendario.GIF')?>" alt="carregando" style="margin-bottom:20px;"></div>');
        $(".seta_direita_"+val).hide();
        $(".seta_baixo_"+val).show();
        $('div[data='+val+']').attr('display','open')
        $('#slide_react_'+val).slideToggle();
        $.post('<?=base_url('assessoria_emme/acoesteste')?>',{evento:acao},function(data){
            $('#slide_react_'+val).html(data);
            $('#slide_det_react_'+val).show();
            load()
        })
    } else { //proximos cliques
        // $('#slide_react_'+val).html('');
        $('#slide_react_'+val).slideToggle();
        if($('div[data='+val+']').attr('display') == 'open'){ //fechou
            $(".seta_direita_"+val).show();
            $(".seta_baixo_"+val).hide();
            $('div[data='+val+']').attr('display','close')
        } else { //abriu
            $(".seta_direita_"+val).hide();
            $(".seta_baixo_"+val).show();
            $('div[data='+val+']').attr('display','open')
        }
    }
})
</script>

脚本调用一个函数(控制器),该函数调用ajax文件(视图)

在ajax文件中调用另一个函数:

$('.click').click(function(){
    var val = $(this).attr('cod')
    console.log(val)
    $('.slide_'+val).slideToggle();
      if($('div[cod='+val+']').attr('display') == 'open'){
        $(".aberta_"+val).show();
        $(".fechada_"+val).hide();
        $('.tit_'+val).css("font-weight", "normal");
        $('div[cod='+val+']').attr('display','close')
      } else {
        $(".aberta_"+val).hide();
        $(".fechada_"+val).show();
        $('.tit_'+val).css("font-weight", "bold");
        $('div[cod='+val+']').attr('display','open')
      }
  })
</script>

该脚本执行了多次,只需单击一下即可打开和关闭切换器。

我认为一按即可对所有已打开的ajax文件进行操作。

我该如何解决?

0 个答案:

没有答案