Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.07.2020
Сообщений: 63

Изменение строки после добавления строки в таблицу

10.08.2022, 17:42. Показов 603. Ответов 3

Студворк — интернет-сервис помощи студентам
После добавления строки,я пытаюсь ее сразу изменить, без рестарта страницы, в модалку приходят все данные и в mysql все изменяется, но на экране изменений нет, они появляются только после рестарта. Пробую обработку событий через on не помогает. Не могу понять где ошибка.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
$(document).on('click', '#save', function(event) {
 
                if ($('#save').attr('name') == 'submit') {
                    var name = $("#name").val();
                    var surname = $("#surname").val();
                    var role = $("#role").val();
                    let status;
                    //var status = $("#status").val();
                    if (jQuery('input[name=status]').is(':checked')) {
                        status = 1;
                    } else status = 2;
 
                    var len = $('#someTable tr').length;
                    var lastRow = $('#someTable tr').eq(len - 1);
 
                    var last_id = lastRow.attr("id")
                    // console.log(last_id);
 
                    new_id = last_id
 
                    url = 'insert.php';
                    new_url = 'App/View/Connector.php';
                    let arr = [];
                    $.ajax({
                        method: "POST",
                        url: new_url,
                        data: {
                            insert: 'insert',
                            name: name,
                            surname: surname,
                            role: role,
                            status: status
                        },
                        success: function(data) {
 
                            if (data.includes('Must write a name')) {
                                $("#msg").html("Please Give Name");
 
                            }
 
                            if (data.includes('Must write a surname')) {
                                $("#msg").html("Please Give Surname");
 
                            }
 
                            if (data.includes('Must choose a role')) {
                                $("#msg").html("Please choose role");
 
                            }
 
                            if (data.includes('User already exist')) {
                                $("#msg").html("User already exist");
 
                            } else
 
                              
 
                            arr = JSON.parse(data);
                            $("#msg").html("User" + " " + arr['user']['name'] + " " + arr['user']['surname'] + " " + "added");
                            new_id = arr['user']['id'];
 
                            var name = arr['user']['name'];
                            var surname = arr['user']['surname'];
                            var role = arr['user']['role'];
                            var status = arr['user']['status']
                            var str = null;
                            if (status == 1) {
                                str = '<i class="fa-solid fa fa-circle  fa-2x " style="color:green">'
                            } else if (status == 2) {
                                str = '<i class="fa-solid fa fa-circle  fa-2x " style="color:grey">'
                            }
                            const rowContent = `<tr id=${new_id}>
                <td class="text-center align-middle" data-id="${new_id}"><div class="custom-control custom-control-inline custom-checkbox custom-control-nameless m-0 align-top">
                    <input type="checkbox" name="check" id="check" class="delete-id" value="">
                </div></td>
                <td class="text-center align-middle">${name} ${surname}</td>
                <td class="text-center align-middle">${str}</td>
                <td class="text-center align-middle">${role}</td>
                <td class="text-center align-middle"><div class="btn-group align-top">
                    <button type="button" class="btn btn-sm btn-success" data-bs-toggle="modal" data-bs-target="#AddModal" data-role='update' id='edit' name='update'>Edit</button>
                    <button type="button" class="btn btn-warning" data-bs-toggle="" data-bs-target="" name="delete" id="delete" value="delete"><i class="fa fa-trash fa-lg "></i></button>
                </div></td>
                 </tr>`;
                            var change = $(rowContent).on('click', '#edit', function() {
 
 
                                var currentRow = $(this).closest("tr")
 
                                var surname = currentRow.find("td:eq(1)").text();
                                let surArr = surname.split(" ");
                                var role = $("input#userRole").val();
                                $('#userId').val(new_id[0]['id']);
                                $("#name").val(surArr[0]);
                                $("#surname").val(surArr[1]);
                                $('#' + id).children('td[data-target=first_name]').text(name + " " + surname);
                                $('#' + id).children('td[data-target=status]').replaceWith(`<td class="text-center align-middle">${str}</td>`);
                                $('#' + id).children('td[data-target=role]').text(role);
                                $('#save').attr('name', 'save');
                                $("#AddModal").modal('show');
                                
                            })
                            $("#someTable tbody").append(change);
                            
 
                        }
 
                    })
 
                    $("input#name").val('');
                    $("input#surname").val('');
 
                }
 
 
 
                // *************EDIT***************
                else if ($('#save').attr('name') == 'save') {
                    
                    var id = $('#userId').val();
                    var name = $("#name").val();
                    var surname = $("#surname").val();
                    var role = $("#role").val();
                    let status;
                    //var status = $("#status").val();
                    if (jQuery('input[name=status]').is(':checked')) {
                        status = 1;
                    } else status = 2;
 
 
                    if (id == 0 || undefined) {
                        id = new_id[0]['id'];
                    }
                    // console.log(last_id);
                    currentRow = $(this).closest("tr")
                    var t_id = $('#' + id);
                    url = 'insert.php';
                    new_url = 'App/View/Connector.php';
                    let arr = [];
                    $.ajax({
                        method: "POST",
                        url: new_url,
                        data: {
                            edit: 'edit',
                            id: id,
                            name: name,
                            role: role,
                            surname: surname,
                            status: status
                        },
                        success: function(data) {
 
                            if (data.includes('Must write a name')) {
                                $("#msg").html("Please Give Name");
 
                            }
 
                            if (data.includes('Must write a surname')) {
                                $("#msg").html("Please Give Surname");
 
                            }
 
                            if (data.includes('Must choose a role')) {
                                $("#msg").html("Please choose role");
 
                            } else
 
                                arr = JSON.parse(data);
                            $("#msg").html("User" + " " + arr['user']['name'] + " " + arr['user']['surname'] + " " + "added");
                            new_id = arr['user']['id'];
 
                            var name = arr['user']['name'];
                            var surname = arr['user']['surname'];
                            var role = arr['user']['role'];
                            var status = arr['user']['status']
                            var str = null;
                            if (status == 1) {
                                str = '<i class="fa-solid fa fa-circle  fa-2x " style="color:green">'
                            } else if (status == 2) {
                                str = '<i class="fa-solid fa fa-circle  fa-2x " style="color:grey">'
                            }
 
                            $('#' + id).children('td[data-target=first_name]').text(name + " " + surname);
                            $('#' + id).children('td[data-target=status]').replaceWith(`<td class="text-center align-middle">${str}</td>`);
                            $('#' + id).children('td[data-target=role]').text(role);
                            
                        }
 
                    })
 
                    $("input#name").val('');
                    $("input#surname").val('');
 
                }
 
 
 
            })
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2022, 17:42
Ответы с готовыми решениями:

Триггер: после добавления строки в таблицу добавить в ячейку vr_sbr_mar сегодняшнюю дату + 30 дней
Здравстйте Мне требуется создать триггер, который после добавления строки в таблицу будет добавлять в ячейку vr_sbr_mar сегодняшнюю дату...

Не работает запрос добавления строки в таблицу
Доброго времени суток... Когда делаю запрос в таблицу так QSqlQuery query; query.exec(&quot;INSERT INTO kod...

Макрос добавления пустой строки в таблицу по условию
Добрый день! В последнем столбике таблицы стоят числа от 1 до 4. Задача в том, чтобы вставить пустую строку над строкой, в которой...

3
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
11.08.2022, 10:44
На какой хоть строке во всей этой простыне должно быть изменение данных?
1
0 / 0 / 0
Регистрация: 04.07.2020
Сообщений: 63
11.08.2022, 18:20  [ТС]
от 117 стр. не срабатывает эдит, после вставки, Возможно, ошибка где то от 84-102.
0
Молодой техлид)
Эксперт JSЭксперт HTML/CSS
 Аватар для mr_dramm
1818 / 1056 / 329
Регистрация: 17.07.2021
Сообщений: 2,147
Записей в блоге: 14
11.08.2022, 22:51
Код станет понятнее и легче в поддержке если разбить его на несколько функций. Смотрите консоль ошибок, кнопка f12 в браузере


ошибка может быть тут

JavaScript
1
arr = JSON.parse(data);
так как parse может кинуть исключение, которое у Вас не обрабатывается.
и тут
JavaScript
1
2
3
                    if (id == 0 || undefined) {
                        id = new_id[0]['id'];
                    }
JavaScript
1
new_id[0] === undefined
и тут
JavaScript
1
2
3
4
5
6
                            new_id = arr['user']['id'];
 
                            var name = arr['user']['name'];
                            var surname = arr['user']['surname'];
                            var role = arr['user']['role'];
                            var status = arr['user']['status']
JavaScript
1
arr['user'] === undefined
смотрите в консоль
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2022, 22:51
Помогаю со студенческими работами здесь

Создание обработчика нажатия на кнопку для добавления строки в таблицу (Swing)
Подскажите пожалуйста , как прикрепить слушателся к кнопке, чтоб при нажатии на нее она добавляла новую строчку в таблице? iimport...

Вылетает ошибка при попытке добавления следующей строки в заполняемую таблицу
пытаюсь скопировать из 1 таблицы значение по щелчку в другую, копирует 1 строку, но почему то вылетает ошибка при попытке добавления...

Обновление dataGrid после добавления строки
Уважаемые Гуру! Не получается обновить dataGrid после добавления нового елемента в таблицу модели. Код XAML: ...

Триггер на удаление строки после добавления записи
Всем привет! Подскажите, где синтаксическая ошибка в триггере? Заранее спасибо! Требуется триггер на удаление строки ‘user_id’ = 1 из...

Получить фокус новой строки после добавления
Всем привет Помогите получить фокус поля &quot;ВнНомер&quot; у ТЧ при добавлении новой строки. Строку добавляю вот так: НоваяСтрока =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru