我有一些“切换”,当我打开每个切换时,我会调用一个执行另一个功能(带有单击动作)的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文件进行操作。
我该如何解决?