Как передать дополнительный параметр в Ajax AutoComplete для JQuery? - PullRequest
2 голосов
/ 18 августа 2011

привет, я использую Ajax AutoComplete для jQuery

в моем jquery я использую

        options = { serviceUrl: "<? echo $this->config->item('base_url'); ?>index.php/welcome/autocomplete" };    
        a = $('#query').autocomplete(options);

я видел, что могу передать дополнительные параметры, такие как

var a = $('#query').autocomplete({ 
    serviceUrl:'service/autocomplete.ashx',
    minChars:2, 
    delimiter: /(,|;)\s*/, // regex or character
    maxHeight:400,
    width:300,
    zIndex: 9999,
    deferRequestBy: 0, //miliseconds
    params: { country:'Yes' }, //aditional parameters
    noCache: false, //default is false, set to true to disable caching
    // callback function:
    onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); },
    // local autosugest options:
    lookup: ['January', 'February', 'March', 'April', 'May'] //local lookup values 
  });

поэтому я хочу создать новый параметр и передать его следующим образом

         var a = $('#query2').autocomplete({ 
             serviceUrl: "<? echo $this->config->item('base_url'); ?>index.php/welcome/autocomplete",
             id:'query2'
            });

Как я могу получить доступ к этому дополнительному параметру из кода автозаполнения ?? я хочу добавить этот идентификатор в мой

.autocomplete-w1

изначально это выглядит так

<div class="autocomplete-w1"></div>

я хочу изменить его на

 <div id="jquery2" class="autocomplete-w1"></div>

пожалуйста, помогите ................................

ОБНОВЛЕНИЕ

я пытался добавить параметр id к этой функции

  function Autocomplete(el, options) {
    this.el = $(el);
    this.el.attr('autocomplete', 'off');
    this.suggestions = [];
    this.data = [];
    this.badQueries = [];
    this.selectedIndex = -1;
    this.currentValue = this.el.val();
    this.intervalId = 0;
    this.cachedResponse = [];
    this.onChangeInterval = null;
    this.ignoreValueChange = false;
    this.serviceUrl = options.serviceUrl;
    this.isLocal = false;
    this.options = {
      autoSubmit: false,
      minChars: 1,
      maxHeight: 300,
      deferRequestBy: 0,
      width: 0,
      highlight: true,
      params: {},
      fnFormatResult: fnFormatResult,
      delimiter: null,
      zIndex: 9999,
      id:'test'
    };
    this.initialize();
    this.setOptions(options);
  }

я дал значение по умолчанию test. когда я предупреждаю $this.options.id, я всегда получаю 'test' значение, которое я передаю jquery2 не получаю. в чем там проблема ????

1 Ответ

1 голос
/ 18 августа 2011

Ммм. Я решил это.

я добавил дополнительный идентификатор параметра

        a = $('#query').autocomplete({
                                        serviceUrl: "<? echo $this->config->item('base_url'); ?>index.php/welcome/autocomplete",
                                        id: 'query'
                                    });

по моему jquery.autocomplete.js по

 function Autocomplete(el, options) {

я получаю этот параметр как

  this.id = options.id;

теперь я могу добавить его к идентификатору div

<div class="autocomplete-w1" id='+this.id+'></div>

спасибо .................... :) :): D

...