繁体   English   中英

如何在jQuery的Ajax AutoComplete中传递额外的参数?

[英]how to pass extra parameter in Ajax AutoComplete for jQuery?

嗨,我正在使用Ajax AutoComplete for 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'
            });

我如何从自动完成代码中访问该额外参数? 我想将该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的值没有得到。 有什么问题吗?

嗯。 我已经解决了。

我添加了额外的参数ID

        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的id中

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

感谢:D

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM