Цитата:
|
laimas, известно.
|
А коли известно, то к чему выдумывать "кошмарики"?
|
laimas,
просто хотелось бы сделать сие действие без перезагрузки страницы. |
Цитата:
Пусть вы запрашиваете для редактирования в базе три записи. Для простоты пусть это будет правка заголовков, а также можно удалять записи. При этом можно выполнить операции сразу для всех строк - групповое редактирование (выбор в форме и ее отправка), а можно производить индивидуальное редактирование каждой записи, отправляя запрос для каждой записи отдельно. Как при этом будет происходить обмен с сервером не важно. При групповом редактировании можно поступить так: <form> <input name="title[15]" /> <input type="checkbox" name="del[]" value="15" /> <input name="title[35]" /> <input type="checkbox" name="del[]" value="35" /> <input name="title[75]" /> <input type="checkbox" name="del[]" value="75" /> <button>Обновить</button> </form> где числа, это уникальные идентификаторы записей в БД. Изменив значения полей title или выбрав флажок для удаления записи, отправляем форму, которая имеет обработчик события onsubmit: $('form').submit(function(e) { e.preventDefault(); $.ajax({ //.... data: $(this).serialize(), //данные формы //.... }) }) Сервер получая запрос проверяет есть ли записи для удаления/обновления и производит операции: if($del = array_diff(array_map('intval', $_POST['del']), [0])) { $_POST['title'] = array_diff_key($_POST['title'], array_flip($del)); //убрать из полей формы записи для удаления //удаляем записи для WHERE id IN(implode(',', $del)) } if($_POST['title']) { //есть ли записи для обновления //обновление } //возврат клиенту результата запроса Ответом может быть запрос в базу, если были обновления, что и будет отражено на клиенте, то есть состояние БД после запроса. То что у вас в событии перебор и куча событий наряду с выбором... Индивидуальный подход, это всего лишь отдельный запрос по каждой записи (ее параметров), и клиенту достаточно знать только положителен или отрицателен результата запроса, и если положителен и было выбрано удаление, то удалить из формы элементы удаленной записи. В данном случае нужно еще добавить на клиенте и анализ выбранной операции. |
laimas,
спасибо вам большое за разъяснения! |
Часовой пояс GMT +3, время: 19:59. |