Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js" type="text/javascript"></script>
- <script type="text/javascript">
- var keyup_details = new Array();
- var threshHold = 50;
- $(document).ready(function(){
- $('select').focus(function(e){
- var elem_id = $(this).attr("id");
- if(elem_id in keyup_details){
- //in
- }else{
- keyup_details[elem_id] = new Array();
- }
- for(var eid in keyup_details){
- keyup_details[eid]['active'] = false;
- }
- keyup_details[elem_id]['active'] = true;
- });
- $('select').blur(function(e){
- var elem_id = $(this).attr("id");
- if(elem_id in keyup_details){
- //in
- }else{
- keyup_details[elem_id] = new Array();
- }
- for(var eid in keyup_details){
- keyup_details[eid]['active'] = false;
- }
- });
- $(document).keypress(function(){
- var elem_id = null;
- for(var e in keyup_details){
- if(keyup_details[e]['active']){
- elem_id = e;
- break;
- }
- }
- if(elem_id == null){
- return;
- }
- var time_keyUp = e.timeStamp;
- if(elem_id in keyup_details){
- //in
- }else{
- keyup_details[elem_id] = new Array();
- keyup_details[elem_id]['searchFor'] = '';
- }
- keyup_details[elem_id]['lastTyped'] = time_keyUp;
- //we've received this event before, build upon the keys already typed if the key up time is greater than threshold
- if((time_keyUp - keyup_details[elem_id]['lastTyped']) < threshHold){
- keyup_details[elem_id]['searchFor'] += String.fromCharCode(e.keyCode).toLowerCase();
- }else{
- keyup_details[elem_id]['searchFor'] = String.fromCharCode(e.keyCode).toLowerCase();
- }
- //search for it in this element's option list
- var options = $(this).find("option");
- var foundSelected = false;
- for(var i = 0; i < options.length; i++){
- var opt = $(options[i]);
- if(opt.val() != 0 && opt.text().toLowerCase().indexOf(keyup_details[elem_id]['searchFor']) == 0){
- $(this).val(opt.val()); //set selected option
- foundSelected = true;
- break;
- }
- }
- if(!foundSelected){
- keyup_details[elem_id]['searchFor'] = '';
- keyup_details[elem_id]['lastTyped'] = 0;
- }
- });
- });
- </script>
- </head>
- <body>
- <select name="sel_id" id="sel_id">
- <option value="0">Choose a new fixer...</option>
- <optgroup label="Group A">
- <option value="6366">Test User useruser</option>
- </optgroup>
- <optgroup label="Group B">
- <option value="5831">First Guy</option>
- <option value="1123">Second Guy</option>
- <option value="7232">Second Second Guy</option>
- </optgroup>
- </select><select name="sel_id2" id="sel_id2">
- <option value="0">Choose a new fixer...</option>
- <optgroup label="Group A">
- <option value="6366">Test User useruser</option>
- </optgroup>
- <optgroup label="Group B">
- <option value="5831">First Guy</option>
- <option value="1123">Second Guy</option>
- <option value="7232">Second Second Guy</option>
- </optgroup>
- </select>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement