我正在编写一个与自动完成或虚拟键盘相同的插件,其中包含选定的输入值以及排序和搜索功能。如果我在一个页面中使用它一次,这个插件工作正常,但是当我将这个应用于多个时,它会显示在最后写入的对象上应用的框和事件。示例代码和小提琴如下: http://jsfiddle.net/mantrig/ugmwa5b5/
我的插件代码插入:
$(document).ready(function(){
var testData = ["BSL","DSK","NPNR","SAV","ET","NDLS","JPR","MAS","BCT","NZM","BR","SUJH"];
$(".stations").myAutoSuggest({
data:testData,
dataref:"stationsList",
title:"Station List",
sort:"desc"
});
var trainData = ["12345","32151","64231","56421","78542","13452"];
$(".trains").myAutoSuggest({
data:trainData,
title:"Train List",
dataref:"trainsList",
sort:"desc"
});
});
我非常擅长编写任何插件,因此代码可能非常脏。一点帮助将不胜感激!!
答案 0 :(得分:1)
你错过了'
。
将$(body).append(html);
更改为$('body').append(html);
答案 1 :(得分:1)
问题是你的“selectedTextbox
”变量会在这里解决你的问题
$(".Help").bind("focus",function(e){
selectedTextbox=this;
showVirtualHelp(selectedTextbox);
});
以后在这里使用它,因为有多个文本框,所以你需要传递参考当前聚焦元素来显示帮助框
function showVirtualHelp(selectedTextbox) {
$(".virtualHelp."+settings.dataref).css("top",($(selectedTextbox).offset().top+30)+"px");
$(".virtualHelp."+settings.dataref).css("left",($(selectedTextbox).offset().left+30)+"px");
$(".virtualHelp."+settings.dataref).show();
}