WICKET-4705 Autocomplete doesn't fire when using keyboard (ENTER key)
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/909ddf19 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/909ddf19 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/909ddf19 Branch: refs/heads/master Commit: 909ddf192bff57a5c6ee8bbe290a3a7b29d8f0cc Parents: 5ab4424 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Fri Aug 10 11:50:52 2012 +0300 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Fri Aug 10 11:50:52 2012 +0300 ---------------------------------------------------------------------- .../html/autocomplete/wicket-autocomplete.js | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/909ddf19/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js index ac37d51..06b18dc 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js @@ -177,8 +177,10 @@ hidingAutocomplete = 1; if(value) { obj.value = value; - if(typeof objonchange==="function") { - objonchange.apply(this,[event]); + if (typeof(objonchange) === "function") { + objonchange.apply(this,[jqEvent]); + } else { + jQuery(obj).triggerHandler('change'); } } } else if (Wicket.AutoCompleteSettings.enterHidesWithNoSelection) { @@ -644,15 +646,16 @@ var value = getSelectedValue(); var input = Wicket.$(elementId); value = handleSelection(value); - if(value) { + hideAutoComplete(); + if (value) { input.value = value; - jQuery(input).trigger('change'); + jQuery(input).triggerHandler('change'); } - hideAutoComplete(); if (document.activeElement !== input) { ignoreOneFocusGain = true; input.focus(); } + return true; }; var mouseOverFunc = function(event) {
