2016-10-05 5 views
1

私はSelect2(https://select2.github.io)を使用しています。select2ドロップダウンからURLにリダイレクト

live ajax検索入力としてselect2を使用します。

ので、私はそれを作るてみてください。

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簡単な解決策:

は、(サーバ側(JSON)で、例えば、 'URL')変数を宣言し、これにコードを変更:

function formatRepoSelection(repo) { 
    if(repo.url) 
    { 
     window.location.replace(repo.url); 
     return 'please wait...'; 
    } 
    return repo.title || repo.text; 
} 
関連する問題