2012-08-10 76 views
0

我正在使用jQuery地理自动填充插件来将位置建议为用户类型(http://code.google.com/p/geo-autocomplete/)。扩展/覆盖jQuery UI自动完成功能

一旦用户选择了一个建议,我想编辑页面上的链接。我试图扩展选择功能。我已经定义了一个新的选择功能来覆盖核心功能。以下是javascript的示例:

$.widget("ui.geo_autocomplete", { 

// setup the element as an autocomplete widget with some geo goodness added 
_init: function() { 
    this.options._geocoder = new google.maps.Geocoder; // geocoder object 
    this.options._cache = {}; // cache of geocoder responses 
    this.element.autocomplete(this.options); 


    // _renderItem is used to prevent the widget framework from escaping the HTML required to show the static map thumbnail 
    this.element.data('autocomplete')._renderItem = function(_ul, _item) { 
     return $('<li></li>').data('item.autocomplete', _item).append(this.options.getItemHTML(_item)).appendTo(_ul); 
    }; 
}, 

// default values 
options: { 

      select: function(event, ui) { 
       alert('in override function'); 
      }, 

用户选择其中一个建议后,将显示警报,然后填充文本框。我希望执行核心选择功能(从而填充文本框),然后拥有我的代码以执行(我将更改链接的href)。我怎样才能做到这一点?

回答

0

你能不尝试这样的事:

options: { 

      select: function(event, ui) { 
      $(this).trigger('change'); 
    },  
+0

我需要触发我自己的功能的用户点击了一个建议之后。当用户第一次开始在输入框中输入时,不会.trigger('change')调用我的函数? – user1056675 2012-08-10 13:49:54