изменение сохраняется для многих элементов - очистка данных после закрытия модальной - PullRequest
0 голосов
/ 15 июня 2019

Я использую редактирование темы в модале. В ситуации, когда: я нажимаю кнопку включения модального переключателя и закрываю ее без внесения изменений, несколько раз для нескольких элементов - это приводит к тому, что вместо одного элемента, в который я добавил изменения, изменение сохраняется в базе данных для всех ранее отмеченные. Я думаю, что это может быть решено путем очистки памяти идентификатора данных в href, открывающей модальный

результат

<a href="" data-toggle="modal" data-target="#editSubject" data-id="{{$subject->id}}" 
data-name="{{$subject->name}}" data-ects="{{$subject->ects}}" 
data-exam="{{$subject->exam}}" 
class="btn btn-light btn-sm edit-subject">
<i class="far fa-edit fa-lg"></i>
</a>






var editSubject = () => 
{
    $('body').on('click', '.edit-subject', function(){
        let el = this;
        let id = $(this).data('id');

        $("#nameEdit").attr("value",  $(this).data('name'));
        $("#ectsEdit").attr("value",  $(this).data('ects'));
        $("#examEdit").attr("value",  $(this).data('exam'));

        $('#submitEditSubject').click(function(event){

            let name = $('#nameEdit').val();
            let ects = parseInt($('#ectsEdit').val());
            let exam = $('#examEdit').val();

                let postData = {
                    "name": name,
                    "ects": ects,
                    "exam": exam,
                    "_token": $('#token').val()
                };


                $.ajax({
                    type: "PATCH",
                    url: `/subjects/${id}/update`,
                    data: postData,
                    success: function(data)
                    {
                        closeModal();
                        $('#validation-info').hide();
                        $(el).closest('tr').remove();
                        appendToTable(data);
                        $('#success-info').show();
                        $('#info').html(data.success);
                    }
                });
        });


    });

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...