Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <title>jQuery UI Autocomplete Combobox Demo</title> 
 <link rel="stylesheet" href="http://static.jquery.com/ui/css/base2.css" type="text/css" media="all" /> 
      <link rel="stylesheet" href="http://jquery-ui.googlecode.com/svn/tags/latest/themes/base/jquery-ui.css" type="text/css" media="all" /> 
      <link rel="stylesheet" href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" type="text/css" media="all" /> 
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 
      <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script> 
      <script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.1.js" type="text/javascript"></script> 
      <script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript"></script> 
  <script type="text/javascript"> 
  (function($) {
    $.widget("ui.combobox", {
      _create: function() {
        var self = this;
        var select = this.element.hide();
        var input = $("<input>")
          .insertAfter(select)
          .autocomplete({
            source: function(request, response) {
              var matcher = new RegExp(request.term, "i");
              response(select.children("option").map(function() {
                var text = $(this).text();
                if (!request.term || matcher.test(text))
                  return {
                    id: $(this).val(),
                    label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"),
                    value: text
                  };
              }));
            },
            delay: 0,
            select: function(e, ui) {
              if (!ui.item) {
                // remove invalid value, as it didn't match anything
                $(this).val("");
                return false;
              }
              $(this).focus();
              select.val(ui.item.id);
              self._trigger("selected", null, {
                item: select.find("[value='" + ui.item.id + "']")
              });
              
            },
            minLength: 0
          })
          .addClass("ui-widget ui-widget-content ui-corner-left");
        $("<button>&nbsp;</button>")
        .insertAfter(input)
        .button({
          icons: {
            primary: "ui-icon-triangle-1-s"
          },
          text: false
        }).removeClass("ui-corner-all")
        .addClass("ui-corner-right ui-button-icon")
        .position({
          my: "left center",
          at: "right center",
          of: input,
          offset: "-1 0"
        }).css("top", "")
        .click(function() {
          // close if already visible
          if (input.autocomplete("widget").is(":visible")) {
            input.autocomplete("close");
            return;
          }
          // pass empty string as value to search for, displaying all results
          input.autocomplete("search", "");
          input.focus();
        });
      }
    });
 
  })(jQuery);
    
  
  </script> 
  <style> 
    .my_personal_style_1 { width: 200px }
.my_personal_style_2 { width: 300px  } 
.my_personal_style_3 { width: 400px  }
    /* TODO shouldn't be necessary */
    .ui-button-icon-only .ui-button-text { padding: 0.35em; } 
    .ui-autocomplete-input { padding: 0.48em 0 0.47em 0.45em; }
  </style> 
</head> 
<body> 
  
<div class="demo"> 
 
<div class="ui-widget"> 
  <label>Your preferred programming language: </label> 
  <select> 
    <option value="a">asp</option> 
        <option value="c">c</option> 
        <option value="cpp">c++</option> 
        <option value="cf">coldfusion</option> 
        <option value="g">groovy</option> 
        <option value="h">haskell</option> 
        <option value="j">java</option> 
        <option value="js">javascript</option> 
        <option value="p1">perl</option> 
        <option value="p2">php</option> 
        <option value="p3">python</option> 
        <option value="r">ruby</option> 
        <option value="s">scala</option> 
  </select> <br />
   <label>Your preferred programming language: </label> 
  <select> 
    <option value="a">asp</option> 
        <option value="c">c</option> 
        <option value="cpp">c++</option> 
        <option value="cf">coldfusion</option> 
        <option value="g">groovy</option> 
        <option value="h">haskell</option> 
        <option value="j">java</option> 
        <option value="js">javascript</option> 
        <option value="p1">perl</option> 
        <option value="p2">php</option> 
        <option value="p3">python</option> 
        <option value="r">ruby</option> 
        <option value="s">scala</option> 
  </select> <br />
   <label>Your preferred programming language: </label> 
  <select> 
    <option value="a">asp</option> 
        <option value="c">c</option> 
        <option value="cpp">c++</option> 
        <option value="cf">coldfusion</option> 
        <option value="g">groovy</option> 
        <option value="h">haskell</option> 
        <option value="j">java</option> 
        <option value="js">javascript</option> 
        <option value="p1">perl</option> 
        <option value="p2">php</option> 
        <option value="p3">python</option> 
        <option value="r">ruby</option> 
        <option value="s">scala</option> 
  </select> <br />
   <label>Your preferred programming language: </label> 
  <select> 
    <option value="a">asp</option> 
        <option value="c">c</option> 
        <option value="cpp">c++</option> 
        <option value="cf">coldfusion</option> 
        <option value="g">groovy</option> 
        <option value="h">haskell</option> 
        <option value="j">java</option> 
        <option value="js">javascript</option> 
        <option value="p1">perl</option> 
        <option value="p2">php</option> 
        <option value="p3">python</option> 
        <option value="r">ruby</option> 
        <option value="s">scala</option> 
  </select> 
</div> 
 
</div><!-- End demo --> 
 
<div class="demo-description"> 
<p> 
A custom widget built by composition of Autocomplete and Button. You can either type something into the field to get filtered suggestions based on your input, or use the button to get the full list of selections.
</p> 
<p> 
The input is read from an existing select-element for progressive enhancement, passed to Autocomplete with a customized source-option.
</p> 
</div><!-- End demo-description --> 
 
</body> 
</html> 
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers