我有一个要附加自动完成功能的文本框。当您开始输入时...它会在数据库中查找并返回/缩小适当的内容。当用户从返回的列表中选择时...返回图像和其他一些信息并将其放置在页面中。效果很好。见下文:
jQuery(function ($) {
var a = $('#artistName').autocomplete({
serviceUrl: '/link/to/processor.ashx?action=artist',
minChars:1,
maxHeight:400,
width:300,
zIndex: 9999,
deferRequestBy: 0,
// callback function:
onSelect: function(value, data){
if (data) {
var artistData = data.split('|');
var src = '<%= ImageServer %>' + '/path/to/image/' + value + '.jpg';
$("#artistPhoto").attr('src', src);
$('#artistExt').remove();
if (artistData[1] !== undefined && artistData[1] != 0) {
$("#artistSection").append('<div id="artistExt"><span>Contact me @</span> 1-888-123-4567 Ext: ' + artistData[1] + '</div>');
}
}
}
});
});
如果用户没有从列表中选择,我想要做的是提供相同的功能(例如......用户可以开始输入像“Bill”这样的名称并且自动完成将返回“Bill”......但是如果用户没有从返回的结果列表中选择“Bill”,而只是键入名称......显然不会发生任何事情,因为事件在 onSelect 函数上)。
有人可以帮我弄清楚如何以一种触发事件 onSelect、onChange、onLoad、onKeyUp、on[enter] 等的方式编写它...只要有匹配项?只寻找价值/长度会更好吗?还有一种情况可能会发生,用户进入页面,文本框被预填充。在这种情况下,我想要与 onSelect 函数相同的显示更改。
任何帮助将非常感激。谢谢。