我知道这听起来很简单,但我是jQuery的新手......我使用这个插件: http://www.emposha.com/javascript/fcbkcomplete.html
其源代码包含:
jQuery(function ($) { $.fn.fcbkcomplete = function (opt) { return this.each(function () { /// ... /// ...implementation deleted... /// ... // public method to add new item this.addItem = function (title, value) { addItem(title, value); } return this; }); }; });
我知道如何在我的代码中使用这个元素,它工作正常:
$(document).ready(function() { $("#select2").fcbkcomplete({ ... options deleted ... }); });
现在我想在我的代码中创建的对象“fcbkcomplete”的实例上调用公共方法addItem()(例如,当我单击按钮或onTimer事件时)。但我不知道如何访问它。我尝试这样做,但它不起作用:
var fcel = $("#select2").fcbkcomplete({ ... options deleted ... }); fcel.addItem('Test1', 'Test1');
Firefox显示错误:“fcel.addItem不是函数”。
...感谢名单
答案 0 :(得分:0)
您必须将元素添加到用于控件的列表元素中(控件使用输入字段和元素列表)。
因此,您应该将元素添加到UL。
(类似于$('#myUlId').append('<li>Hello</li>');
)
干杯
答案 1 :(得分:0)
从你的例子看,fcbkcomplete看起来像是返回一个jquery对象(不是DOM元素),因为这就是this.each()返回的内容。
addItem方法被添加到单个元素中(每个函数中的“this”指的是单个元素)。
因此,为了调用addItem,您必须引用单个元素。 尝试:
fcel[0].addItem('Test1','Test1')
答案 2 :(得分:-1)
jQuery允许您访问这样的变量:
$(fcel).addItem('Test1', 'Test1');
只需将变量名称粘贴在那里,不带任何引号。似的。