У меня есть несколько «переключателей», когда я открываю каждый из них, я вызываю функцию ajax, которая выполняет другую функцию (с действием щелчка). Но если я открываю два переключателя, функция щелчка вызывается дважды.
У меня есть 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.
Как я могу решить это?