基于变量名调用jQuery自动完成小部件函数

Calling a jQuery autocomplete widget function based on variable name

本文关键字:小部 函数 jQuery 于变量 变量 名调用      更新时间:2023-09-26

因此,要初始化文本框的自动完成,请执行以下操作$('#textbox').autocomplete({...});

我有一个自定义的小部件声明:

$.widget( "custom.catcomplete", jQuery.ui.autocomplete, {
    ......
});

在这种情况下,小部件的名称是catcomplete,因此要初始化自定义自动完成,可以执行以下操作:$('#textbox').catcomplete({...});

现在是棘手的部分。我试图用一个变量名调用$('#textbox').catcomplete({...});,方法是:

var w = 'catcomplete';
//this is where i try to call the widget
$('#textbox').{w}({...}); // <-- this is obviously wrong

虽然这个例子显然是错误的,但我希望它能让我大致清楚地了解我要做什么。顺便说一句,小部件不能修改(遗留问题(。

提前感谢!

这个简单的代码可以调用jQuery.find方法(获取主体内的第一个div(:

$('body')['find']('div:first')

所以,你的解决方案应该是这样的:

$('body')[yourVariable]({...})