Search
 
SCRIPT & CODE EXAMPLE
 

CSS

option select css

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<select id="selectbox1">
  <option value="">Select an option&hellip;</option>
  <option value="aye">Aye</option>
  <option value="eh">Eh</option>
  <option value="ooh">Ooh</option>
  <option value="whoop">Whoop</option>
</select>
<select id="selectbox2">
  <option value="">Month&hellip;</option>
  <option value="january">January</option>
  <option value="february">February</option>
  <option value="march">March</option>
  <option value="april">April</option>
  <option value="may">May</option>
  <option value="june">June</option>
  <option value="july">July</option>
  <option value="august">August</option>
  <option value="september">September</option>
  <option value="october">October</option>
  <option value="november">November</option>
  <option value="december">December</option>
</select>
 Run code snippet
Comment

option select css

// Iterate over each select element
$('select').each(function() {

  // Cache the number of options
  var $this = $(this),
    numberOfOptions = $(this).children('option').length;

  // Hides the select element
  $this.addClass('s-hidden');

  // Wrap the select element in a div
  $this.wrap('<div class="select"></div>');

  // Insert a styled div to sit over the top of the hidden select element
  $this.after('<div class="styledSelect"></div>');

  // Cache the styled div
  var $styledSelect = $this.next('div.styledSelect');

  // Show the first select option in the styled div
  $styledSelect.text($this.children('option').eq(0).text());

  // Insert an unordered list after the styled div and also cache the list
  var $list = $('<ul />', {
    'class': 'options'
  }).insertAfter($styledSelect);

  // Insert a list item into the unordered list for each select option
  for (var i = 0; i < numberOfOptions; i++) {
    $('<li />', {
      text: $this.children('option').eq(i).text(),
      rel: $this.children('option').eq(i).val()
    }).appendTo($list);
  }

  // Cache the list items
  var $listItems = $list.children('li');

  // Show the unordered list when the styled div is clicked (also hides it if the div is clicked again)
  $styledSelect.click(function(e) {
    e.stopPropagation();
    $('div.styledSelect.active').each(function() {
      $(this).removeClass('active').next('ul.options').hide();
    });
    $(this).toggleClass('active').next('ul.options').toggle();
  });

  // Hides the unordered list when a list item is clicked and updates the styled div to show the selected list item
  // Updates the select element to have the value of the equivalent option
  $listItems.click(function(e) {
    e.stopPropagation();
    $styledSelect.text($(this).text()).removeClass('active');
    $this.val($(this).attr('rel'));
    $list.hide();
    /* alert($this.val()); Uncomment this for demonstration! */
  });

  // Hides the unordered list when clicking outside of it
  $(document).click(function() {
    $styledSelect.removeClass('active');
    $list.hide();
  });

});
Comment

PREVIOUS NEXT
Code Example
Css :: placeholder color default 
Css :: css element with id and class 
Css :: overlay a box in css 
Css :: html how to ensure that the header always on top 
Css :: tailwind css 
Css :: print css media query 
Css :: media query min and max width for all devices 
Css :: blob without svg 
Css :: most essential css elements 
Typescript :: check all running ports ubuntu 
Typescript :: eliminate dots li 
Typescript :: mat-select change event 
Typescript :: what type of radiation is 5g 
Typescript :: how to do limits in latex 
Typescript :: how to destroy all widgets in a frame 
Typescript :: sort array of objects in react js 
Typescript :: google sheets remove characters from string 
Typescript :: mui styles hover mouse pointer 
Typescript :: python requests header allow redirect false 
Typescript :: typescript react input type 
Typescript :: Visual Studio Code Typescript region folding 
Typescript :: nextjs global prisma 
Typescript :: element on click listener renderer2 angular2 
Typescript :: shortcuts for ajax in vscode 
Typescript :: psycopg2 OperationalError: FATAL: unsupported frontend protocol 1234.5679: server supports 2.0 to 3.0 
Typescript :: measurement technique of total fiber attenuation gives 
Typescript :: useimperativehandle typescript 
Typescript :: wordpress get post attachments url 
Typescript :: how to use type in batch 
Typescript :: python loop two 
ADD CONTENT
Topic
Content
Source link
Name
7+1 =