我可以覆盖jQueryUI自动完成中的选择选项

时间:2014-12-10 16:36:40

标签: javascript jquery jquery-ui autocomplete

Fiddle Example

我的主js文件中有自动完成代码。这是一个例子:

var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp"
    ];
$("#tags").autocomplete({
    source: availableTags,
    select: function(event, ui) {
      return false; 
    }
});

我有一个单独的js文件,只能在特定页面上提供。在该文件中,我想覆盖select实例中的$("#tags")选项,这是一个单独的js文件中的示例:

$.widget( "ui.autocomplete", $.ui.autocomplete, {
   select: function (event, ui) {
     $(this).val(ui.item.label);  // to automatically populate the input box with the selected option  
  }
});

是否可以覆盖jQuery中的选择选项?

1 个答案:

答案 0 :(得分:4)

使用option方法。所有jQuery小部件都有option method,允许您更改选项。并且所有jQuery小部件方法都被称为$().widgetname("method",arg1,arg2,...)

http://jsfiddle.net/b9awbcuf/

$("#tags").autocomplete("option", "select", function (event, ui) {
    alert('changed');
    $(this).val(ui.item.label);
});

这是非常有用的阅读:http://learn.jquery.com/jquery-ui/how-jquery-ui-works/