2017-08-23 57 views
1

我正在爲SocialEngine網站開發建議功能。我在文本框中編寫了以下代碼,以便根據插入的文本提供建議。但是注入方法並未被控制器返回的所有結果調用。它正在跳過其中一些。我期望它爲每個結果調用一次。下面是代碼 -社交引擎上的自動填充好友列表無法正常工作

new Autocompleter.Request.JSON('global_search_field', '<?php echo $this->url(array('module' => 'user', 'controller' => 'public', 'action' => 'suggest','message' => true), 'default', false) ?>', {   
     'minLength': 1, 
     'delay' : 50, 
     'className': 'message-autosuggest', 
     'injectChoice': function(token){ 
      console.log("called"); 
      if(token.type == 'user'){ 
      console.log("User"); 
      var choice = new Element('li', { 
       'class': 'autocompleter-choices', 
       'id':token.guid 
      }); 
      new Element('div', { 
       'html': '<a id="'+token.id+'" href="'+token.url+'">'+token.photo+this.markQueryValue(token.label)+'</a>', 
       'class': 'autocompleter-choice' 
      }).inject(choice); 
      } 
      else { 
       console.log("Heading"); 
      var choice = new Element('li', { 
       'class': 'autocompleter-choices', 
       'id':token.guid 
      }); 

      new Element('div', { 
       'html': '<a class="menu-heading" style="margin:-9px;" id="'+token.id+'" >'+this.markQueryValue(token.id)+'</a>', 
       'class': 'autocompleter-choice' 
      }).inject(choice); 
      } 
      this.addChoiceEvents(choice).inject(this.choices); 
      choice.store('autocompleteChoice', token);  
     }, 
     'onPush' : function(){ 
     if($('toValues').value.split(',').length >= maxRecipients){ 
      $('to').disabled = true; 
      } 
     } 
    }); 

我已經檢查了從控制器返回的數據,它返回多個結果,但一些如何噴油器纔剛剛呼籲少的結果數量。

更新 - 注射器方法被調用的第一個10個值從控制器僅

回答

0

你跟Autocompleter類的一個實例工作返回。你可以在/externals/autocompleter/Autocompleter.js找到它的源代碼。請注意0​​變量。您會注意到它在代碼中限制了以下操作的數量。你所需要做的就是將這個變量的值覆蓋到你需要的任何地方。

相關問題