2014-12-13 5 views
2

의 쉼표로 구분 된 문자열을 반환 :레일 및 원격 데이터 로딩 Selectize.js - 표준 다중 선택 반환 selectize.js 문자열 배열 사용하는 대신 배열

$('.selectize').selectize();

: ["1","2","3"]이 다음 코드를 완벽하게 작동을

많은 양의 데이터가 있기 때문에 원격 데이터로드를 사용하고 싶습니다. 그런 식으로 selectize를 설정하면 원하는 ["1","2","3"]이 아닌 ["1,2,3"]으로 돌아옵니다. 이러한 값이 많이 주시면 감사하겠습니다 다른 이유에

var formatName = function(item) { 
    return $.trim((item.first_name || '') + ' ' + (item.last_name || '')); 
}; 

$('.selectize-contacts').selectize({ 
    delimiter: ',', 
    valueField: 'id', 
    labelField: 'name', 
    searchField: ['first_name', 'last_name', 'email'], 
    sortField: [ 
     {field: 'first_name', direction: 'asc'}, 
     {field: 'last_name', direction: 'asc'} 
    ], 
    options: [], 
    create: false, 
    render: { 
     item: function(item, escape) { 
      var name = formatName(item); 
      debugger; 
      return '<div>' + (name ? '<span class="name">' + escape(name) + '</span>' : '') + '</div>'; 

     }, 
     option: function(item, escape) { 
      var name = formatName(item); 
      return '<div>' + escape(name) + '</div>'; 
     } 
    }, 
    load: function(query, callback) { 
     if (!query.length) return callback(); 
     $.ajax({ 
      url: $(".selectize-contacts").data("search") + '?q=' + query, 
      type: 'GET', 
      error: function() { 
       callback(); 
      }, 
      success: function(data) { 
       callback(data); 
      } 
     }); 
    }, 

}); 

어떤 조언 : 여기

는 코드입니다.

답변

0

코드를보고 있습니다. 다중 선택에서 초기화 된 경우에만 검사를 선택하고 항목을 반환하면 검사를 선택하고, 그렇지 않으면 항목을 문자열에 조인합니다. selectize.getValue() 대신 selectize.items를 사용하여 항목을 가져올 수 있습니다.