我目前遇到keyup()事件的问题。
当我在.change()事件中使用自动完成功能时,一切正常。但是,自动完成的建议只会在失去我认为正常的领域焦点时显示出来。
问题是,当我使用.keyup()事件时,会显示建议,但当您从建议列表中点击某个项目时,该项目不会在文本字段中放置。
而不是将建议设置到字段的change()函数。
jQuery(document).ready(function() {
jQuery("#customfield_10000").keyup(function(e){
teller = teller + 1;
if(teller % 2 == 0){
if(e.keyCode == 13)
{
jQuery("#customfield_10001").focus();
}
crmAccount = jQuery(this).val();
lijstAccounts.length = 0;
jQuery.ajax({
url: "http://"+serverIp+"/getAllAccountNamesJsonP?jsonp_callback=?",
dataType: 'jsonp',
jsonp: "jsonp_callback",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: jQuery(this).val(),
crm_acc: crmAccount,
},
success: function( data ) {
lijstAccounts.length = 0;
jQuery.map( data, function( item ) {
lijstAccounts.push(item);
jQuery('#customfield_10000').trigger(
'setSuggestions',
{ result : textext.itemManager().filter(lijstAccounts, query)
}
);
return {
label: item.label,
value: item.value
}
});
}
});
}
});
jQuery('#customfield_10000').textext({
plugins : 'autocomplete'
}).bind('getSuggestions', function(e, data)
{
textext = jQuery(e.target).textext()[0],
query = (data ? data.query : '') || '';
});
});
答案 0 :(得分:2)
你为什么不绑两个?取决于您的jQuery版本:
jQuery 1.7 +
$(selector).on('keyup change', function() {});
其他
$(selector).bind('keyup change', function() {});
答案 1 :(得分:1)
我今天遇到了类似的问题,我将选择器从引用输入字段的id改为名称,如下所示:
$("input:text[name=search-box]").keyup(function(){
//Code
});
在我做出改变之后,一切都很顺利。希望这也适合你。