2016-02-02 2 views
0

У меня есть странная проблема в jQuery select2 (bootstrap) плагин. Все работает отлично, но предложения HTML отображаются как есть (в обычном тексте). Код я реализую выглядит следующим образом:JQuery Select2 плагин предложения в виде простого текста, а не html отформатирован

<script> 
$(document).ready(function() { 
    var $ajax = $(".js-example-data-ajax"); 
    $ajax.select2({ 
     ajax: { 
      url: "...", 
      dataType: 'json', 
      delay: 250, 
      data: function (params) { 
       return { 
        q: params.term, // search term 
        page: params.page 
       }; 
      }, 
      processResults: function (data, params) { 
       params.page = params.page || 1; 
       return { 
        results: data, 
        pagination: { 
         more: (params.page * 30) < data.total_count 
        } 
       }; 
      }, 
      cache: true, 

     }, 
     minimumInputLength: 1, 
     templateResult: function (repo) { 
      if (repo.loading){ 
       return repo.text; 
      } 

      var markup = '<div class="col-md-12">' + repo.name + '</div>'; 
      return markup; 
     }, 
     templateSelection: function (repo) { 
      return repo.name || repo.text; 
     } 
    }); 
}); 
     </script> 

ответ "< класс деления =" Col-мкр-12 "> Имя </DIV>" Я использую версию 4.0.1 Select2 на JQuery 1.11 .3

ответ

0

Если вы собираетесь возвращать HTML-код в своих шаблонах, вам нужно вернуть объект jQuery.

templateResult: function (repo) { 
    if (repo.loading){ 
     return repo.text; 
    } 

    var markup = $('<div class="col-md-12">' + repo.name + '</div>'); 
    return markup; 
}, 
+0

Большое спасибо Кевину, это так! –