2016-10-05 1 views
1

Я использую Select2 (https://select2.github.io).перенаправление на URL из select2 drop down

Я хочу использовать select2 как живой вход для поиска ajax.

ТАК Я стараюсь сделать это:

var $similar = $(".datajax-items"); 

$similar.select2({ 

    placeholder: "search...", 
    maximumSelectionSize: 1, 
    ajax: { 
      ... 
     }, 
     processResults: function(data, params) { 
      params.page = params.page || 1; 

      return { 
       results: data.items, 
       pagination: { 
        more: (params.page * 20) < data.total_count 
       } 
      }; 
     }, 
     cache: true 
    }, 
    escapeMarkup: function(markup) { return markup; }, 
    templateResult: formatRepo, 
    templateSelection: formatRepoSelection 
}); 

и функции:

function formatRepo(repo) { 
if (repo.loading) return repo.text; 

var markup = "<a href=\"google.com\" class='select2-result-repository clearfix'></a>"; 

return markup; 
} 

function formatRepoSelection(repo) { 
    return repo.id || repo.text; 
} 

код работает. но когда я нажимаю на параметр (в поле выбора), он (обычно) выбирает его. Я не хочу выбирать его. Я хочу отключить выбор, а затем перенаправить страницу на собственный URL.

ответ

0

Ifound простое решение:

объявить переменную (например, 'URL' в стороне сервера (JSON)) и изменить код следующим образом:

function formatRepoSelection(repo) { 
    if(repo.url) 
    { 
     window.location.replace(repo.url); 
     return 'please wait...'; 
    } 
    return repo.title || repo.text; 
} 

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

  • Нет связанных вопросов^_^