2013-07-20 148 views
0

我想在Ember.js应用程序中使用X可编辑选择2。X可编辑选择2和Ember.js

我创建了以下编辑元素:

<a href="javascript:;" class="input-xlarge editable" data-url="children" multiple="multiple" data-pk="1">Test parent</a> 

而且使用这个JavaScript:

$(function() { 
    $.fn.editable.defaults.mode = 'inline'; 

    $('.editable').editable({ 
     type: 'select2', 

     select2: { 
      placeholder: "Search for a parent...", 
      minimumInputLength: 3, 
      multiple: true, 
      ajax: { 
       url: 'http://localhost:8001/api/parents', 
       dataType: 'json', 
       data: function (term, page) { 
        return { q: term }; // search term 
       }, 
       results: function (data, page) { 
        return {results: data}; 
       } 
      }, 
      formatResult: function(result) { 
       return result.first_name + ' ' + result.last_name; 
      }, 
      formatSelection: function(selection) { 
       return selection.first_name + ' ' + selection.last_name; 
      } 
     }, 

     // Used for sending JSON instead of form data 
     params: function(params) { 
      return JSON.stringify(params); 
     } 
    }); 
}); 

当我点击Test child出现的AJAX微调,并在控制台下面的错误显示:Uncaught TypeError: Cannot read property 'id' of null

它是指:

$.fn.select2.defaults = { 
    ... 
    id: function (e) { return e.id; }, 
    ... 
} 

我在这里做错了什么?谢谢!

+0

难道你正在处理一个jQuery的问题?我只是看着x-editable,注意到它不支持jQuery 1.9.x,而这是EmberJS支持的唯一jQuery版本。无论如何,它只是一个飞行员。祝你好运回答。 – ken

+0

你从哪里读到x-editable不支持jQuery 1.9?我找不到它。 – EsTeGe

+0

这是在他们的GitHub问题页面上。他们也至少讨论了部分解决方法,但我暗中希望Ember在2.x正式发布时支持2.x(不是那种等待永远是好的解决方案)。让我看看我能否找到网址。 – ken

回答