2016-11-25 8 views
0

を選択すると問題が、私は以下のようにプラグインSelectセレクトを使用しています:AjaxでSelectセレクト - 値

JS

function initAssignmentsAjax() { 

     $("#assignments").empty(); 

     $("#assignments").select2({ 
      placeholder: "Select an assignment", 
      allowClear: true, 

      ajax: { 
       url: "/Home/GetAssignments", 
       dataType: 'json', 
       delay: 250, 
       data: function (params) { 
        return { 
         q: params.term, // search term 
         page: params.page 
        }; 
       }, 

       processResults: processAssignmentsResult, 

       cache: true 
      }, 
      escapeMarkup: function (markup) { return markup; }, // let our custom formatter work TUTAJ WCHODZI PO assignmentsTemplateSelectionHandler 
      minimumInputLength: 3, //1 
      templateSelection: assignmentsTemplateSelectionHandler, 
      templateResult: assignmentsTemplateResultHandler 
     }) 
    } 

    function processAssignmentsResult(data, params) { 

     var json = JSON.parse(data.Data); 
     var x = $.map(json, function (item) { 
      return { 
       text: item.ProjectNumber + ' : ' + item.BatchName, 
       children: item.ChildItems, 
      }; 
     }) 

     return { results: x }; 
    } 

HTML

<select id="assignments" style="width: 500px;" ></select> 

私が入力していたときにそれが正常に動作しますUIからの値 - コントローラーにAjaxクエリーを送信し、最後にコントロールの値を表示します。私はprogramaticly私はページをリロードし、ブラウザのコンソールからこの機能を使用して(またはUIでいくつかのボタンにバインド)する場合

function selectAssignments(term) { 

    $("#assignments").empty(); 

    var assignmentElementControl = $("#assignments"); 

    assignmentElementControl.select2('open'); 

    // Get the search box within the dropdown or the selection 
    // Dropdown = single, Selection = multiple 
    var $search = assignmentElementControl.data('select2').dropdown.$search || assignmentElementControl.data('select2').selection.$search; 
    // This is undocumented and may change in the future 

    $search.val(term); 
    $search.trigger('keyup'); 
} 

を検索する値を入力することも(How to programmatically inject search queries into Select2 v4?に基づく)関数の下に追加されている

それはまた、うまく動作します。 しかし、Select2コントロール(このパス)を入力して最初に検索しようとすると機能しなくなりますが、この関数を使用しようとするとSelect2コントロールからajax検索クエリが実行されません(リストの検索、火災のajaxはありません)。では、Select2 UI検索を使用すると、この機能が機能しなくなるでしょうか?あなたの関数で

答えて

0

selectAssignments()select2changeをトリガしよう:

$search.val(term); 
$search.trigger('keyup'); 
$search.trigger('change'); //Here 
+0

私が前にしようとしていた - 助けません。しかし、返信ありがとう – user3057544

関連する問題