За последние пару месяцев я использовал Bootstrap-3 с модалами. И я впервые сталкиваюсь с этой проблемой. Поскольку я хочу показывать содержимое при изменении параметра в выборе, я использую функцию изменения, предоставляемую Jquery. Проблема здесь в том, что когда я использую этот код в модальном режиме, он срабатывает нормально, закрывается, и я открываю его снова, значение выбора умножается на количество раз, которое я открыл, и закрывается. Например, если в первый раз значение равно 1, и я закрываю его, когда я снова открываю его и изменяю на 2, оно выглядит следующим образом с console.log:
1
2
2
И так далее.
Я пытался использовать метод off, когда модальное окно закрывается, но когда я снова открываю модальное, метод on ничего не делает.
$(".edit_data").on('click', function(){
var employee_id = $(this).attr("id");
var periodo = null;
$('#evaluacionForm')[0].reset();
$('#evaluadoss').html('');
$.ajax({
url:"url",
method:"POST",
data:{employee_id:employee_id},
dataType:"json",
success:function(data){
$('#id_usuario').val(data.id_usuario);
$('#nombre').val(data.usuario);
var usuario = data.id_usuario;
$("select[name=periodo_e]").change(function(){
periodo = $('select[name=periodo_e]').val();
console.log(periodo);
$.ajax({
url: "url.php?id="+usuario+"&periodo="+periodo
}).done(function(data) { // data what is sent back by the php page
$('#evaluadoss').html(data); // display data
});
});
$('#myModalEvaluacion').modal('show');
}
});
});
$('#myModalEvaluacion').on('hidden.bs.modal', function () {
$(".edit_data").off();
})
Проблема сохраняется, когда я делаю опцию выбора. Он умножает значения и сходит с ума с желаемым результатом.
Я ожидаю, что код не будет умножать результат, так как я открываю и закрываю модальный, идентификатор сотрудника не будет совпадать с идентификатором сотрудника, который отображается в методе изменения.