怎样调用一个JQuery插件的内部函数并获得其返回值?

yxx7348 2018-11-17 03:01:23
我是菜鸟。改造了一个JQuery插件,大致结构如下:


(function ($) {

"use strict";

//构造函数
var Combobox = function (element, options) {
this.$element = element;
...
};

//方法
Combobox.prototype = {

constructor: Combobox

, load: function (keyword) {
...
}

...
, getvalue: function () {
return this.$element.val();
}
};

$.fn.combobox = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('combobox')
, options = typeof option == 'object' && option;
if (!data) { $this.data('combobox', (data = new Combobox(this, options))); }
if (typeof option == 'string') { data[option](); }
});
};

//默认值
$.fn.combobox.defaults = {
menu: '<ul class="typeahead-long dropdown-menu"></ul>'
, item: '<li><a href="#" class="dropdown-item"></a></li>'
, datasource: ''
};
})(jQuery);


在Html中是这样调用的:
$(document).ready(function () { $('.combobox').combobox(); });

它工作得很好。除了这个需求:

我想在html通过JavaScript调用这个插件内部的函数getvalue,获得其返回值,类似以下这样:

var value = $("#sn").combobox('getvalue');
console.log(value);

运行,调试窗口的显示却是这样:
jQuery.fn.init [input#sn.form-control.combobox.text-box.single-line]


请教高手:怎样调用一个JQuery插件的内部函数并获得其返回值?
能否给个详细的解答,非常感谢!!!
...全文
192 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxx7348 2018-11-18
  • 打赏
  • 举报
回复
谢谢天际的海浪!知识就是力量,就是积分
天际的海浪 2018-11-17
  • 打赏
  • 举报
回复
$("#sn").combobox(); var value = $("#sn").data('combobox').getvalue(); console.log(value);

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧