Changeset 15219

Show
Ignore:
Timestamp:
02/23/08 19:50:21 (8 months ago)
Author:
flack
Message:

fixed a bug where keyboard navigation would select the wrong item if a preselection existed.

Also removed tab binding to allow navigation to other form elements (keyboard selection is now ret only)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midcom/midcom.helper.datamanager2/static/chooser/jquery.chooser_widget.js

    r15215 r15219  
    8282    input_element.show(); 
    8383     
    84     var results_holder = jQuery.midcom_helper_datamanager2_widget_chooser.ResultsHolder(options, input, insert_after, selectCurrent);     
     84    var results_holder = jQuery.midcom_helper_datamanager2_widget_chooser.ResultsHolder(options, input, insert_after);     
    8585     
    8686    hideResultsNow(); 
     
    9090        this.checked = false; 
    9191    }); 
    92      
    93     function selectCurrent() 
    94     { 
    95         var selected = results_holder.selected(); 
    96         if (! selected) 
    97         { 
    98             return false; 
    99         } 
    100          
    101         input_element.val(''); 
    102         input.focus(); 
    103         input_element.trigger("activate", [selected.data]); 
    104         return true; 
    105     } 
    10692 
    10793    function onChange(crap, skipPrevCheck) 
     
    260246                break; 
    261247             
    262             case KEY.TAB: 
    263248            case KEY.RETURN: 
    264249                event.preventDefault(); 
    265                 if( selectCurrent() ) 
    266                 { 
    267                     input_element.focus(); 
    268  
    269                 } 
     250                results_holder.select(); 
    270251                break; 
    271252                 
     
    281262        // having fun with opera - remove this binding and Opera submits the form when we select an entry via return 
    282263        switch(event.keyCode) { 
    283             case KEY.TAB: 
    284264            case KEY.RETURN: 
    285265                event.preventDefault(); 
     
    362342}; 
    363343 
    364 jQuery.midcom_helper_datamanager2_widget_chooser.ResultsHolder = function(options, input, insert_after, select_function
     344jQuery.midcom_helper_datamanager2_widget_chooser.ResultsHolder = function(options, input, insert_after
    365345{ 
    366346    var CLASSES = { 
     
    786766            element.show(); 
    787767        }, 
    788         selected: function() { 
     768        select: function() { 
     769            jQuery("." + CLASSES.HOVER).click(); 
    789770            return data && data[active]; 
    790771        }