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

Удаление записи после добавления

18.06.2015, 17:38. Показов 1514. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть форма c div="field" где содержится инпут, 2 поля и кнопка удалить. Вначале поле только одно, потом я нажимаю добавить , появляется ещё 1 div. При нажатии на кнопку удалить, удаляется только первый элемент, а которые я добавил не реагируют вообще.


HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="field1">
                           <div class="service">
                               <span>Услуга</span><br>
                <select name="service" id="bom" class="selct"></select>
                    </div>
                           
                    <div class="parametrs">
                    <a href="#" class="delposition" id="removePos"></a>
    
                    <div class="sum"><span>Сумма</span><br><input name="price" placeholder="15.000" type="text" class="summa">  </div>
                    <div class="quantity"><span>Количество</span><br><input name="quantity" placeholder="12" type="text" class="quant"></div>
                    </div>
                </div>
Пробовал так, но не получается
JavaScript
1
$(this).parent(".service").remove();
Вопрос понятен, как сделать чтобы была возможность удалять только что добавленные записи
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.06.2015, 17:38
Ответы с готовыми решениями:

Удаление куки вместо добавления
Здравствуйте, нужно вместо добавления сделать удаление куки function SubCat(SubID,Url){ if(SubID &gt; 0){ ...

Вызов функции после добавления элементов на страницу
js начинает выполняться после addEventListener('load', test, false); Функция test делает 2 запроса на сервера и получает 2 json...

Обноление select после добавления данных через ajax
С сервера пришли данные в формате: &lt;option selected&gt;--&lt;/option&gt; &lt;option selected&gt;info&lt;/option&gt; ... Я их в добавляю в выпадающий...

13
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
18.06.2015, 18:11
JavaScript
1
2
3
  $('.delposition').on('click',function(){
        $(this).parent().parent().remove();
    })
0
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 09:09  [ТС]
fanatikus, все равно удаляет только первую запись, которая сразу создаётся, а другие нет(
0
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
22.06.2015, 12:21
нужна функция которая, добавляет строку, покажите
в нее нужно добавить
JavaScript
1
2
3
$('.delposition').click(function(){
          $(this).parent().remove();
             });
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
22.06.2015, 12:36
Цитата Сообщение от voron543 Посмотреть сообщение
нужна функция которая, добавляет строку
Не нужна.
tigroid3, если кнопка, отвечающая за удаление - id="removePos", то это уже ошибка, т.к. таких кнопок у вас будет несколько, а id у них одинаковый. Замените на класс или вообще уберите. Новые элементы у вас добавляются динамически, а значит . Форма, если я правильно понимаю, у вас имеет id="field" и она статична, кнопка удаления - class="delposition". Поэтому, записать можно так:

JavaScript
1
2
3
$( '#field' ).on('click', '.delposition', function(){
    // какие-то действия
});
0
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 14:14  [ТС]
voron543,

JavaScript
1
2
3
4
5
$("#addPos").on('click', function () {
        var fld = $(".wrapper-fields").html();
        $(".other-fields").append(fld);
        return false;
    });
Добавлено через 1 минуту
Lazy_Den, id остался после теста, удаляю через класс

а чем написаное вами отличается от
JavaScript
1
2
3
4
$('.delposition').on('click',function(){
                $(this).parent().parent().remove();
                return false;
            });
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
22.06.2015, 14:29
Цитата Сообщение от tigroid3 Посмотреть сообщение
а чем написаное вами отличается от
Я как бы уже сказал выше - "делегированная обработка событий". О динамически созданном элементе JS ничего не знает и для него этого элемента не существует. Поэтому обработчик устанавливается на родительский элемент, который изначально присутствует в DOM, а проверяется элемент на котором сработало событие. Если проверяемый элемент соответствует определенным критериям (напр., имеет нужный класс, id и т.д.), то выполняется соответствующее действие.
0
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 14:58  [ТС]
Lazy_Den,

Всё равно удаляется только первая запись
JavaScript
1
2
3
4
5
6
$(document).ready(function () { 
$( '.field1').on('click', '.delposition', function(){
                $(this).parent().parent().remove();
                    return false;
            });
}
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
22.06.2015, 15:03
Цитата Сообщение от tigroid3 Посмотреть сообщение
Всё равно удаляется только первая запись
Элемент с классом ".field1" существует при загрузке страницы или тоже добавляется динамически?
0
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 15:09  [ТС]
Lazy_Den, он существует в самом начале, а по кнопке добавить создаётся копия первого field
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
22.06.2015, 15:26
Лучший ответ Сообщение было отмечено tigroid3 как решение

Решение

Цитата Сообщение от tigroid3 Посмотреть сообщение
создаётся копия первого field
Вот вам и ответ. Клонированный элемент, добавленный на страницу - такой же динамически добавленный. Повторю еще раз - обработчик устанавливайте на элемент, который изначально присутствует на странице: не добавляется в процессе, не клонируется и не материализуется из воздуха, а уже существует при загрузке DOM. Если так сложно определить такой элемент, то можно хоть на body устанавливать обработчик:
JavaScript
1
2
3
$( 'body' ).on('click', '.delposition', function(){
    // какие-то действия
});
1
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 15:34  [ТС]
Lazy_Den, спасибо большое, разобрался, так заработало)
0
0 / 0 / 0
Регистрация: 07.05.2015
Сообщений: 6
22.06.2015, 15:34
не уверен , что правильно (сам только начинаю), но повесил бы так
JavaScript
1
2
3
4
5
6
7
8
9
10
$(document).ready(function () { 
("#addPos").on('click', function () {
        var fld = $(".wrapper-fields").html();
        $(".other-fields").append(fld);
        return false;
            $('.delposition').click(function(){
          $(this).parent().remove();
             });
    });
     });
0
0 / 0 / 0
Регистрация: 21.12.2013
Сообщений: 20
22.06.2015, 15:39  [ТС]
voron543, всё получилось гораздо проще

JavaScript
1
2
3
$('.other-fields').on('click', '.delposition', function () {
        $(this).parent().parent().remove();
    });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2015, 15:39
Помогаю со студенческими работами здесь

Перестает работать код после добавления события onclick
Здравствуйте, помогите, пожалуйста. Есть код: $(document).ready(function() { //...

Обновить select после добавления options через javascript
На странице есть элемент select с одним пустым option. По событию onclick (при этом раскрывается список options, где один пустой option)...

Применение сценария после добавления объекта через prepend
Добавляю li в список при помощи prepend: //добавление элемента $('.add-btn').on(&quot;click&quot;,function(){ tag =...

После добавления цикла и условий перестал работать код
Здравствуйте! Очень нужна ваша подсказка. Накорябал вот такой код: &lt;script src=&quot;http://yandex.st/jquery/1.6.4/jquery.min.js&quot;...

Не происходит отправка формы после динамического добавления полей
Не происходит отправка формы в базу данных MYSQL после динамического добавления полей Все items0 - уходят в базу данных, а вот уже...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru