2011-08-18 64 views
2

你好我使用Ajax的自動完成的jQuery如何在jQuery的Ajax自動完成中傳遞額外的參數?

在我的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 
    }); 

額外的參數,所以我想創建N個新參數並且像這樣傳遞

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

怎麼可以我從自動完成代碼訪問額外的參數?我想那個ID添加到我的

.autocomplete-w1 

最初它看起來像這樣

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

我想將其更改爲

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

請幫助........ ........................

UPDATE

我試圖將我的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'價值我passig jquery2沒有得到。那裏有什麼問題?

回答

1

嗯。我解決了它。

function Autocomplete(el, options) { 

添加額外的參數ID

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

在我jquery.autocomplete.js我得到這樣

this.id = options.id; 

該參數現在我可以把它添加到div的ID

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

謝謝.................... :) :):D

相關問題