How do you limit options selected in a html select box?

Here is some full code for you to use…gotta love the Google AJAX API Playground 🙂

Edit 1: Note: this only lets you choose 5 because I didn’t feel like copy/pasting another 10 options 🙂

<!--
  copyright (c) 2009 Google inc.

  You are free to copy and use this sample.
  License can be found here: http://code.google.com/apis/ajaxsearch/faq/#license
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Sample Select Maximum with jQuery</title>
    <script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q">    </script>
    <script type="text/javascript">
    google.load("jquery", "1");

    $(document).ready(function() {

      var last_valid_selection = null;

      $('#testbox').change(function(event) {
        if ($(this).val().length > 5) {
          alert('You can only choose 5!');
          $(this).val(last_valid_selection);
        } else {
          last_valid_selection = $(this).val();
        }
      });
    });
    </script>
  </head>
  <body style="font-family: Arial;border: 0 none;">
    <select multiple id='testbox'>
      <option value="1">First Option</option>
      <option value="2">Second Option</option>
      <option value="3">Third Option</option>
      <option value="4">Fourth Option</option>
      <option value="5">Fifth Option</option>
      <option value="6">Sixth Option</option>
      <option value="7">Seventh Option</option>
      <option value="8">Eighth Option</option>
      <option value="9">Ninth Option</option>
      <option value="10">Tenth Option</option>
    </select>
  </body>
</html>

Demo

​

Leave a Comment