2015-06-15 5 views
0

Я работаю над небольшим проектом здесь, но по какой-то причине я все время получаю ошибку в своей консоли «Ошибка $ li.find не является функцией». Код ниже.find не работает jQuery

$orders.delegate('.saveOrder', 'click', function(){ 
    var $li = (this).closest('li'); 
    var order = { 
     name: $li.find('input.name').val(), 
     drink: $li.find('input.drink').val() 
    };   
    $.ajax({ 
     type: 'PUT', 
     url: 'http://rest.learncode.academy/api/johnbob/friends' + $li.attr('data-id'), 
     data: order, 
     success: function (newOrder) { 
      $li.find('span.name').html(order.name); 
      $li.find('span.drink').html(order.drink); 
      $li.removeClass('edit'); 
     }, 
     error: function(){ 
      alert('Error adding order'); 
     } 
    }); 

Проблема возникает при создании объекта заказа. Я использую найти все вместе без проблем, но он продолжает бросать ошибку типа, говоря, что find не является функцией. Любая помощь будет оценена по достоинству.

+1

on line # 2 он должен быть '$ (this) .closest ('li');' вместо '(this) .closest ('li');' – Dhiraj

ответ

2

Вы хотите сказать $(this) не только (this)? В противном случае это будет другой DOMElement, а не объект jQuery.

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