Skip to content

Instantly share code, notes, and snippets.

@jamesgecko
Created March 23, 2012 21:23
Show Gist options
  • Save jamesgecko/2175217 to your computer and use it in GitHub Desktop.
Save jamesgecko/2175217 to your computer and use it in GitHub Desktop.
SimpleForm Chosen input
<!DOCTYPE html>
<html>
<head>
<title>Billing</title>
<link rel="icon" type="image/png" href="/favicon.png">
<link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/activity_feed.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bills.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/bootstrap.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/chosen.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/customers.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/datepicker.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/emails.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/phones.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/scaffolds.css?body=1" media="all" rel="stylesheet" type="text/css" />
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
<script src="/assets/activity_feed.js?body=1" type="text/javascript"></script>
<script src="/assets/bills.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap-datepicker.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap-tab.js?body=1" type="text/javascript"></script>
<script src="/assets/bootstrap.js?body=1" type="text/javascript"></script>
<script src="/assets/chosen.jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/customers.js?body=1" type="text/javascript"></script>
<script src="/assets/emails.js?body=1" type="text/javascript"></script>
<script src="/assets/phones.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>
<meta content="authenticity_token" name="csrf-param" />
<meta content="rkRVMNtsrft0azn3kAO8xYrGnB10o8nZV8+582pacMg=" name="csrf-token" />
</head>
<body>
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<a href="/" class="brand">Billing</a>
</div>
</div>
</div>
<div class="container">
<h1>New customer</h1>
<form accept-charset="UTF-8" action="/customers" class="simple_form form-horizontal" id="new_customer" method="post" novalidate="novalidate"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /><input name="authenticity_token" type="hidden" value="rkRVMNtsrft0azn3kAO8xYrGnB10o8nZV8+582pacMg=" /></div>
<div class="control-group string optional"><label class="string optional control-label" for="customer_name"> Name</label><div class="controls"><input class="string optional" id="customer_name" name="customer[name]" size="50" type="text" /></div></div>
<div class="control-group string optional"><label class="string optional control-label" for="customer_address"> Address</label><div class="controls"><input class="string optional" id="customer_address" name="customer[address]" size="50" type="text" /></div></div>
<div class="control-group string optional"><label class="string optional control-label" for="customer_county"> County</label><div class="controls"><input class="string optional" id="customer_county" name="customer[county]" size="50" type="text" /></div></div>
<div class="control-group state optional"><label class="state optional control-label" for="customer_state"> State</label><div class="controls"><select class="state optional chzn-select" data-placeholder="Choose a state" id="customer_state" name="customer[state]" style="width:350px;" tabindex="2"><option value=""></option>
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
<option value="American Samoa">American Samoa</option>
<option value="Arizona">Arizona</option>
<option value="Arkansas">Arkansas</option>
<option value="California">California</option>
<option value="Colorado">Colorado</option>
<option value="Connecticut">Connecticut</option>
<option value="Delaware">Delaware</option>
<option value="District of Columbia">District of Columbia</option>
<option value="Florida">Florida</option>
<option value="Georgia">Georgia</option>
<option value="Guam">Guam</option>
<option value="Hawaii">Hawaii</option>
<option value="Idaho">Idaho</option>
<option value="Illinois">Illinois</option>
<option value="Indiana">Indiana</option>
<option value="Iowa">Iowa</option>
<option value="Kansas">Kansas</option>
<option value="Kentucky">Kentucky</option>
<option value="Louisiana">Louisiana</option>
<option value="Maine">Maine</option>
<option value="Maryland">Maryland</option>
<option value="Massachusetts">Massachusetts</option>
<option value="Michigan">Michigan</option>
<option value="Minnesota">Minnesota</option>
<option value="Mississippi">Mississippi</option>
<option value="Missouri">Missouri</option>
<option value="Montana">Montana</option>
<option value="Nebraska">Nebraska</option>
<option value="Nevada">Nevada</option>
<option value="New Hampshire">New Hampshire</option>
<option value="New Jersey">New Jersey</option>
<option value="New Mexico">New Mexico</option>
<option value="New York">New York</option>
<option value="North Carolina">North Carolina</option>
<option value="North Dakota">North Dakota</option>
<option value="Northern Marianas Islands">Northern Marianas Islands</option>
<option value="Ohio">Ohio</option>
<option value="Oklahoma">Oklahoma</option>
<option value="Oregon">Oregon</option>
<option value="Pennsylvania">Pennsylvania</option>
<option value="Puerto Rico">Puerto Rico</option>
<option value="Rhode Island">Rhode Island</option>
<option value="South Carolina">South Carolina</option>
<option value="South Dakota">South Dakota</option>
<option value="Tennessee">Tennessee</option>
<option value="Texas">Texas</option>
<option value="Utah">Utah</option>
<option value="Vermont">Vermont</option>
<option value="Virginia">Virginia</option>
<option value="Virgin Islands">Virgin Islands</option>
<option value="Washington">Washington</option>
<option value="West Virginia">West Virginia</option>
<option value="Wisconsin">Wisconsin</option>
<option value="Wyoming">Wyoming</option></select></div></div>
<div class="control-group string optional"><label class="string optional control-label" for="customer_zip"> Zip</label><div class="controls"><input class="string optional" id="customer_zip" name="customer[zip]" size="50" type="text" /></div></div>
<input class="btn" name="commit" type="submit" value="Create Customer" />
</form>
<a href="/customers">Back</a>
</div>
</body>
</html>
class StateInput < SimpleForm::Inputs::CollectionInput
States = ["Alabama", "Alaska", "American Samoa", "Arizona", "Arkansas",
"California", "Colorado", "Connecticut", "Delaware",
"District of Columbia", "Florida", "Georgia", "Guam", "Hawaii",
"Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky",
"Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan",
"Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska",
"Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York",
"North Carolina", "North Dakota", "Northern Marianas Islands",
"Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Puerto Rico",
"Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas",
"Utah", "Vermont", "Virginia", "Virgin Islands", "Washington",
"West Virginia", "Wisconsin", "Wyoming"]
def input
label_method, value_method = 'to_s', 'to_s'
input_html_options['data-placeholder'] = 'Choose a state'
input_html_options['style'] = 'width:350px;'
input_html_options['tabindex'] = '2'
input_html_classes.push 'chzn-select'
"#{@builder.collection_select(attribute_name, States, value_method, label_method, input_options, input_html_options)}".html_safe
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment