From eaf0a83ab1388310b65f2d781ea27a61c9678f5d Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Tue, 20 Sep 2011 15:12:05 -0500 Subject: Fixed problem on combobox with search limit. The IPA.combobox_widget has been modified such that if the drop-down list doesn't contain the stored value (due to search limit) it will not select anything from the list. The widget has also been modified not to select the value that matches the filter automatically because that might not be the user's intention. Ticket #1819 --- install/ui/widget.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'install/ui/widget.js') diff --git a/install/ui/widget.js b/install/ui/widget.js index 4a02cb7d..0c07d655 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -1670,12 +1670,7 @@ IPA.combobox_widget = function(spec) { keypress: function(e) { if (e.which == 13) { // Enter var filter = that.filter.val(); - that.search( - filter, - function(data, text_status, xhr) { - that.select(filter); - } - ); + that.search(filter); } } }).appendTo(div); @@ -1685,12 +1680,7 @@ IPA.combobox_widget = function(spec) { icon: 'search-icon', click: function() { var filter = that.filter.val(); - that.search( - filter, - function(data, text_status, xhr) { - that.select(filter); - } - ); + that.search(filter); return false; } }).appendTo(div); @@ -1783,11 +1773,16 @@ IPA.combobox_widget = function(spec) { var option; if (value) { + // select specified value option = $('option[value="'+value+'"]', that.list); } else { + // select first available option option = $('option', that.list).first(); } + // if no option found, skip + if (!option.length) return; + option.attr('selected', 'selected'); that.set_value(option.val()); -- cgit