Циклическая работа

191
12 декабря 2016, 10:10

Доброго времени суток.

Есть код:

jQuery('.one').on('click', '.del',function(ev){
    ev.preventDefault();
    var delId = jQuery(this).siblings('.theId').val();/* получет id*/
    var sesID = jQuery('#sessionId').val();/*получает дентификатор пользователя*/
        jQuery.post("/script/script.php",
            {id:delId,
            session:sesID},
        function(dataS) {
            jQuery("#theDiv").html(dataS) ;
            jQuery('.one').on('click', '.del',function(e){
                var thisis= jQuery(this);
                delCart(e,thisis,sesID);});
    });

Суть в том, что при отработке ajax заново идет построение dom элиментов. А ссылка с классом del находится в заменяемом скрипте, участке, к примеру:

<div class="one">1<a href="#" class="del">x</a></div>
<div class="one">2<a href="#" class="del">x</a></div>
<div class="one">3<a href="#" class="del">x</a></div>
<div class="one">4<a href="#" class="del">x</a></div>
<div class="one">5<a href="#" class="del">x</a></div>
<div class="one">6<a href="#" class="del">x</a></div>

При работе скрипта каждый див удаляется (через взаимодествие с базой данных), здесь я поставил двойную отработку кода. Но, как вы понимаете, мне надо, чтобы код отрабатывал такое количество раз, сколько пользователь будет нажимать на ссылку с классом del. Не подскажите, как это сделать?

Answer 1
jQuery('body').on('click', '.del',function(ev){
    ...
    jQuery.post("/script/script.php",
        {id:delId, session:sesID},
    function(dataS) {
        jQuery("#theDiv").html(dataS) ;
});

Правка:

Ещё раз, с пояснением.

Есть родительский элемент, вешаем на него обработчик клика на любую сабноду с классом one.

При изменении содержимого родительского элемента обработчик никуда не делся и предсказуемо сработает при следующем нажатии.

<div class="theDiv">
   <div class="one">1<a href="#" class="del">x</a></div>
   <div class="one">2<a href="#" class="del">x</a></div>
</div>
$('.theDiv').on('click', '.del',function(ev){
    var delId = $(this).siblings('.theId').val();
    var sesID = $('#sessionId').val();
    $.post("/script/script.php", {id:delId, session:sesID})
       .done(function(dataS) {
            $(".theDiv").html(dataS) ;
       })
       .fail(function(){ ... });
});
READ ALSO
Не всегда работает prop

Не всегда работает prop

Бывают случаи, когда prop не срабатываетПочему это происходит и как это исправить?

238
Перемещение элемента

Перемещение элемента

К примеру, есть такой код:

208
Jquery получить url и method  от ajax события

Jquery получить url и method от ajax события

Задача состоит в том, чтобы все post запросы, сделанные через ajax, уведомляли нужный мне скрипт о том, к какому url они обращались

200
Как правильно использовать usemap с  :hover?

Как правильно использовать usemap с :hover?

Можно ли, чтобы картинка ( например, 200 х 100 ) увеличивалась при :hover, и при этом срабатывал usemap, те

339