@@ -649,6 +649,114 @@ <h2>Features</h2>
649
649
} ) ;
650
650
</ script >
651
651
</ section >
652
+
653
+ <!-- ************** Cities Demo ************** -->
654
+ < section class ="demo ">
655
+ < div class ="header ">
656
+ City / State Selection
657
+ </ div >
658
+ < div class ="sandbox ">
659
+ < label for ="select-cities-state "> State:</ label >
660
+ < select id ="select-cities-state " placeholder ="Pick a state... ">
661
+ < option value =""> Select a state...</ option >
662
+ < option value ="AL "> Alabama</ option >
663
+ < option value ="AK "> Alaska</ option >
664
+ < option value ="AZ "> Arizona</ option >
665
+ < option value ="AR "> Arkansas</ option >
666
+ < option value ="CA "> California</ option >
667
+ < option value ="CO "> Colorado</ option >
668
+ < option value ="CT "> Connecticut</ option >
669
+ < option value ="DE "> Delaware</ option >
670
+ < option value ="DC "> District of Columbia</ option >
671
+ < option value ="FL "> Florida</ option >
672
+ < option value ="GA "> Georgia</ option >
673
+ < option value ="HI "> Hawaii</ option >
674
+ < option value ="ID "> Idaho</ option >
675
+ < option value ="IL "> Illinois</ option >
676
+ < option value ="IN "> Indiana</ option >
677
+ < option value ="IA "> Iowa</ option >
678
+ < option value ="KS "> Kansas</ option >
679
+ < option value ="KY "> Kentucky</ option >
680
+ < option value ="LA "> Louisiana</ option >
681
+ < option value ="ME "> Maine</ option >
682
+ < option value ="MD "> Maryland</ option >
683
+ < option value ="MA "> Massachusetts</ option >
684
+ < option value ="MI "> Michigan</ option >
685
+ < option value ="MN "> Minnesota</ option >
686
+ < option value ="MS "> Mississippi</ option >
687
+ < option value ="MO "> Missouri</ option >
688
+ < option value ="MT "> Montana</ option >
689
+ < option value ="NE "> Nebraska</ option >
690
+ < option value ="NV "> Nevada</ option >
691
+ < option value ="NH "> New Hampshire</ option >
692
+ < option value ="NJ "> New Jersey</ option >
693
+ < option value ="NM "> New Mexico</ option >
694
+ < option value ="NY "> New York</ option >
695
+ < option value ="NC "> North Carolina</ option >
696
+ < option value ="ND "> North Dakota</ option >
697
+ < option value ="OH "> Ohio</ option >
698
+ < option value ="OK "> Oklahoma</ option >
699
+ < option value ="OR "> Oregon</ option >
700
+ < option value ="PA "> Pennsylvania</ option >
701
+ < option value ="RI "> Rhode Island</ option >
702
+ < option value ="SC "> South Carolina</ option >
703
+ < option value ="SD "> South Dakota</ option >
704
+ < option value ="TN "> Tennessee</ option >
705
+ < option value ="TX "> Texas</ option >
706
+ < option value ="UT "> Utah</ option >
707
+ < option value ="VT "> Vermont</ option >
708
+ < option value ="VA "> Virginia</ option >
709
+ < option value ="WA "> Washington</ option >
710
+ < option value ="WV "> West Virginia</ option >
711
+ < option value ="WI "> Wisconsin</ option >
712
+ < option value ="WY "> Wyoming</ option >
713
+ </ select >
714
+ < label for ="select-cities-city " style ="margin-top:20px "> City:</ label >
715
+ < select id ="select-cities-city " placeholder ="Pick a city... "> </ select >
716
+ </ div >
717
+ < div class ="description ">
718
+ A demonstration showing how to use the API to cascade controls for a classic state / city selector.
719
+ < strong > Note:</ strong > The API for fetching cities is a little spotty, so if it fails to list cities, that's what's going on (try another state).
720
+ </ div >
721
+ < script class ="show ">
722
+ var xhr ;
723
+ var select_state , $select_state ;
724
+ var select_city , $select_city ;
725
+
726
+ $select_state = $ ( '#select-cities-state' ) . selectize ( {
727
+ onChange : function ( value ) {
728
+ if ( ! value . length ) return ;
729
+ select_city . disable ( ) ;
730
+ select_city . clearOptions ( ) ;
731
+ select_city . load ( function ( callback ) {
732
+ xhr && xhr . abort ( ) ;
733
+ xhr = $ . ajax ( {
734
+ url : 'http://www.corsproxy.com/api.sba.gov/geodata/primary_city_links_for_state_of/' + value + '.json' ,
735
+ success : function ( results ) {
736
+ select_city . enable ( ) ;
737
+ callback ( results ) ;
738
+ } ,
739
+ error : function ( ) {
740
+ callback ( ) ;
741
+ }
742
+ } )
743
+ } ) ;
744
+ }
745
+ } ) ;
746
+
747
+ $select_city = $ ( '#select-cities-city' ) . selectize ( {
748
+ valueField : 'name' ,
749
+ labelField : 'name' ,
750
+ searchField : [ 'name' ]
751
+ } ) ;
752
+
753
+ select_city = $select_city [ 0 ] . selectize ;
754
+ select_state = $select_state [ 0 ] . selectize ;
755
+
756
+ select_city . disable ( ) ;
757
+ </ script >
758
+ </ section >
759
+
652
760
</ div >
653
761
</ div >
654
762
< div class ="wrapper ">
0 commit comments