2015-01-29 5 views
0

Я создаю скрипт для управления корзиной покупок, и я хотел приложить событие размытия к полю ввода, где вы можете изменить количество продукта.событие jQuery blur срабатывает только один раз

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

Сейчас у меня есть это:

jQuery(document).ready(function($) { 
    $("input",".fila_producto").each(function() { 
     $(this).on('focusout', {param: $(this).parent().parent().attr('id')}, updateCantidadProducto); 
    }); 
}); 

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

Функция, чтобы сделать запрос, это один:

function updateCantidadProducto(event){ 
    var id = event.data.param; 
    var cantidad = $(this).val(); 

    var datos = { 
     "modify" : true, 
     "identificador" : id, 
     "cantidad": cantidad 
    }; 

    $.ajax({ 
     data: datos, 
     url: 'carrito.php', 
     type: 'post', 
     success: function(response){ 
      $("#aside").replaceWith(response); 
     } 
    }); 

} 

Это хорошо работает в первый раз, но это событие не работает. Любые предложения о том, насколько я плохо это сделал?

ответ

1

Это должно делать то, что вы просите.

(function($){ 
    $(document).on('blur', 
        'input,.fila_producto', 
        {param: $(this).parent().parent().attr('id')}, 
        updateCantidadProducto 
       ); 
}(jQuery)); 
+1

Это сработало, просто пришлось поместить парам в обработчик (не знаю точно, почему я не поставил его раньше). Большое спасибо! – thejazzman

1

терпеть неудачу доказательства синтаксис для связывания событий к элементам на йот (являются ли они новые элементы или существовавшие ранее элементы) является

$(document).on('focusout', '.fila_producto', function() { 
    // do stuff here 
}); 

$(document) также может быть более конкретным селектор, который имеет .fila_producto класс в (но убедитесь, что любой селектор, который вы используете, уже существует на dom, а не добавленный элемент). надеюсь это поможет!

Смежные вопросы