2017-10-17 1 views
0
$(elem).autocomplete({ 
         source: function(request, response) { 
          if (!names.length){ 
           names = [NoResultsLabel]; 
          } 
          response(names); 
         }, 
         response: function (event, ui) { 
          ui.content.push({ 
           label: "<button style=\"float:left;\" class=\"btn btn-default\" id=\"optionless\" onclick=\"previousSchools('"+elem.id+"','"+elem2.id+"')\"><<</button> <button style=\"float:right;\" class=\"btn btn-default\" id=\"optionless\" onclick=\"newSchools('"+elem.id+"','"+elem2.id+"')\">>></button>", 
           button: true 
          }); 
         }, 
         select: function (event, ui) { 
          if (ui.item.label === NoResultsLabel) { 
           event.preventDefault(); 
          } 
          for(var i=0;i<data.schools.length;i++){ 
           if(ui.item.label == names[i]){ 
            elem2.value = ids[i]; 
            i = data.schools.length; 
           } 
          } 
         }, 
         close: function(event, ui) { 
          requests_schools = 0; 
         } 
        }); 
        $.ui.autocomplete.prototype._renderItem = function (ul, item) { 
         if(item.label == '<button style="float:left;" class="btn btn-default" id="optionless" onclick="previousSchools($(elem))"><<</button> <button style="float:right;" class="btn btn-default" id="optionless" onclick="newSchools($(elem))">>></button>') 
          return $("<li class='button-element'></li>") 
            .data("item.autocomplete", item) 
            .html(item.label) 
            .appendTo(ul); 
         return $("<li></li>") 
           .data("item.autocomplete", item) 
           .html(item.label) 
           .appendTo(ul); 
        }; 
        openSchoolsSuggestions(elem); 

秒の時間を働いていません最初のページのために、しかし次にはオートコンプリートウィンドウを閉じ、(名)の入力を削除した値ページネータのためjqueryのオートコンプリートの検索では、これは、私は、事はそれが動作私が反応してボタンを追加することによって、カスタム「ページネータ」を設計して、わずかな違いで同じ名前を持つ多くの結果をオートコンプリートできている

次と前の機能:

function newSchools(elemx,elem2){ 
     var elem = $('#'+elemx); 
     if(requests_schools < 0) 
      requests_schools = 0; 
     requests_schools++; 
     var value = elem.val(); 
     elem.autocomplete("destroy"); 
     elem.val(value); 
     getSchools(document.getElementById(elemx),document.getElementById(elem2)); 
    } 

    function previousSchools(elemx,elem2) { 
     var elem = $(elemx); 
     requests_schools--; 
     if (requests_schools >= 0) { 
      var value = elem.val(); 
      elem.autocomplete("destroy"); 
      elem.val(value); 
      getSchools(document.getElementById(elemx),document.getElementById(elem2)); 
     } 
    } 

    function openSchoolsSuggestions(elem){ 
     elem = $(elem); 
     elem.autocomplete("search"); 
    } 

答えて

0

私は変更に必要な、解決策を見つけましたnewSchoolsとPreviousSchoolsのセレクタ、最初の行tr型番var elem = $(document.getElementById(elemx));

関連する問題

 関連する問題