2015-03-02 3 views
1

Я пишу плагин, чтобы вытаскивать списки из внутреннего API моих компаний, и все работает, за исключением того, что по какой-то причине он не позволит мне подключать дополнительные методы.Цепочки, не работающие над плагином jQuery

(function($) { 

    $.fn.addListings = function(options){ 
     var defaults = { 
      listingCount: 25, 
      pageNumber: 1, 
      customTemp: "<div class='listing'>\ 
      <img src='${IDXPhotoRef}'/>\ 
      <div class='address'>${Address}</div>\ 
      <div class='beds'> Beds: ${BedRooms}</div>\ 
      <div class='baths'>Baths: ${BathRooms}</div>\ 
      <div class='price'>Price: $${PriceFormatted}</div>\ 
      </div>", 
      after: function(){} 
     } 

     var settings = $.extend({}, defaults, options); 

     $.ajax({ 
      type: 'GET', 
      // url: '/api/listings/?featuredlistings=1&pagesize=' + settings.listingCount + '&pagenumber=' + settings.pageNumber + '', 
      url:'data.json', 
      contentType: 'text/plain', 
      crossDomain: true, 
      context: $(this) 
      }) 
     .done(function(data) { 
      $.template("customTemp", settings.customTemp); 
      var arrData = $.map(data[0], function(el) { return el; }); 
      for(i=0; i<arrData.length; i++){ 
       $.tmpl("customTemp", arrData[i]).appendTo(this); 
      } 

      }) 
     .always(function(){ 
      settings.after(); 
      }); 

    }; 

    return this; 

    }(jQuery)); 

https://github.com/cjthedizzy/jquery.addListingsJS/blob/master/jquery.addListings.js

+0

Вот ошибка ее плевки в консоли Uncaught TypeError: Не удается прочитать свойство 'addClass' из undefined – ChrisJ

ответ

1

The return this должен быть размещен внутри $.fn.addListings блока:

(function($) { 
    $.fn.addListings = function(options){ 
     // var defaults = { 
     // ... rest of the code... 

     return this; 
    }; 
}(jQuery)); 
+0

Ну, это неловко. Спасибо, иногда все, что вам нужно по понедельникам, - это второй набор глаз. – ChrisJ

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