MrJ*_*low 14 javascript jquery jquery-ui javascript-events
我有一个自定义的JQuery自动完成控件,声明是这样的.
$('#SystemCode_Autocomplete').autocomplete({
source: [{"label":"Access","value":0},{"label":"Documentum","value":0}], //move values
minLength: 1,
change: function(event, ui) {// some function},
select: function(event, ui) {// some function}
});
Run Code Online (Sandbox Code Playgroud)
更改和选择事件是自定义的.问题是如果我在文本框中键入内容然后单击提交按钮(即没有标签输出或丢失焦点),或者如果我在键入文本框后按键提交,则不会触发更改事件,它必须在我提交之前.
我希望不要在提交按钮后面放置javascript,并且理想情况下在自动完成控件本身内执行此操作.我尝试将更改添加到模糊事件.
${'foo').blur(function() { $('bar').trigger('autocompletechange');
// or
${'foo').blur(function() { $('bar').change();
Run Code Online (Sandbox Code Playgroud)
但他们都没有工作,任何人都有任何想法?
焦点功能自动完成
在焦点移动到某个项目(而不是选择)之前, ui.item 引用焦点项目。焦点的默认操作是将文本字段的值替换为焦点项目的值,但前提是焦点事件是由键盘交互触发的。取消此事件会阻止更新值,但不会阻止菜单项获得焦点。
解决这个问题:
$('#SystemCode_Autocomplete').autocomplete({
source: [{"label":"Access","value":0},{"label":"Documentum","value":0}], //move values
minLength: 1,
focus: function( event, ui ) {
return false;
},
select: function(event, ui) {
alert('Select Event:'+ui.item.value);
}
});
Run Code Online (Sandbox Code Playgroud)