1function select_style() { 2 $('select').each(function(){ 3 if (!$(this).parent().hasClass('select')) { 4 5 var $this = $(this), numberOfOptions = $(this).children('option').length; 6 7 $this.addClass('select-hidden'); 8 $this.wrap('<div class="select"></div>'); 9 $this.after('<div class="select-styled"></div>'); 10 11 if ($(this).attr("disabled")=="disabled") $(this).closest(".select").find(".select-styled").addClass("disabled"); 12 13 var $styledSelect = $this.next('div.select-styled'); 14 $styledSelect.text($this.children('option:selected').text()); 15 16 var $list = $('<ul />', { 17 'class': 'select-options' 18 }).insertAfter($styledSelect); 19 20 $this.children("option").each(function(){ 21 var temp_style=""; 22 if ($(this).prop("disabled")==true) temp_style="display:none;"; 23 24 $('<li />', { 25 text: $(this).text().replace("--- ",""), 26 rel: $(this).val(), 27 style: temp_style 28 }).appendTo($list); 29 }); 30 31 var $listItems = $list.children('li'); 32 33 $list.children('li[rel="'+$(this).val()+'"]').addClass('ez'); 34 35 $(document).trigger("selectStyleCreated"); 36 37 $styledSelect.click(function(e) { 38 if (!($(this).hasClass("disabled"))) { 39 e.stopPropagation(); 40 $('div.select-styled.active').not(this).each(function(){ 41 $(this).removeClass('active').next('ul.select-options').hide(); 42 }); 43 $(this).toggleClass('active').next('ul.select-options').toggle(); 44 if ($list.children('.ez').position().top > 340) { 45 $list.scrollTop($list.children('.ez').position().top); 46 } 47 } 48 }); 49 50 $listItems.click(function(e) { 51 e.stopPropagation(); 52 $styledSelect.text($(this).text()).removeClass('active'); 53 $this.val($(this).attr('rel')); 54 $list.children('li').removeClass('ez'); 55 $(this).addClass('ez'); 56 $this.trigger('change'); 57 $list.hide(); 58 }); 59 60 $(document).click(function() { 61 $styledSelect.removeClass('active'); 62 $list.hide(); 63 }); 64 } 65 }); 66 67 $(document).keydown(function(e) { 68 if (e.keyCode == 27 || e.keyCode == 13) { //esc / enter 69 $('div.select-styled.active').not(this).each(function(){ 70 $(this).removeClass('active').next('ul.select-options').hide(); 71 }); 72 } 73 }); 74}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.