Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<select id="FirstStage" name="FirstStage">
   <option value=""></option>
   <option value="value-A-1" id="A"> value-A-1</option>
   <option value="value-A-2" id="A"> value-A-2</option>
   <option value="value-A-3" id="A"> value-A-3</option>
   <option value="value-B-1" id="B"> value-B-1</option>
   <option value="value-B-2" id="B"> value-B-2</option>
   <option value="value-B-3" id="B"> value-B-3</option>
 </select>
 <select id="SecondStage" name="SecondStage">
  <option value="0"></option>
  <option value="z"></option>
  <option value="value-A-aaa" >value-A-aaa</option>
  <option value="value-A-bbb" >value-A-bbb</option>
  <option value="value-A-ccc" > value-A-ccc</option>
  <option value="value-A-ddd" > value-A-ddd</option>
  <option value="value-A-eee" > value-A-eee</option>
  <option value="value-B-xxx" > value-B-xxx</option>
  <option value="value-B-yyy" > value-B-yyy</option>
  <option value="value-B-zzz" > value-B-zzz</option>
 </select>
</body>
</html>
 
jQuery.fn.filterOn = function(selection, values) {
        return this.each(function() {
            var select = this;
            var options = [];
            $(select).find('option').each(function() {
                options.push({value: $(this).val(), text: $(this).text()});
            });
            $(select).data('options', options);
            $(selection).change(function(){
        $(selection + " option:selected").each(function(){
          var options = $(select).empty().data('options');
          var haystack = values[$(this).attr('id')];    
          $.each(options, function(i){
            var option = options[i];
            if($.inArray(option.value, haystack) !== -1) {
                        $(select).append(
                        $('<option>').text(option.text).val(option.value)
                        );
                    }
          });
        });
      });
        });
    };
$(document).ready(function(){
  $(function() {
        $('#SecondStage').filterOn('#FirstStage', {
            'A': ['value-A-aaa','value-A-bbb','value-ccc','value-A-ddd','value-A-eee','z'],
          'B': ['value-B-xxx','value-B-yyy','value-B-zzz','0']   
            
        });
      return true;
  });
  });
Output

This bin was created anonymously and its free preview time has expired (learn why). — Get a free unrestricted account

Dismiss x
public
Bin info
anonymouspro
0viewers