UNPKG

materialize-css

Version:

Builds Materialize distribution packages

1,098 lines (1,044 loc) 49.3 kB
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="msapplication-tap-highlight" content="no"> <meta name="description" content="Materialize is a modern responsive CSS framework based on Material Design by Google. "> <title>Forms - Materialize</title> <!-- Favicons--> <link rel="apple-touch-icon-precomposed" href="images/favicon/apple-touch-icon-152x152.png"> <meta name="msapplication-TileColor" content="#FFFFFF"> <meta name="msapplication-TileImage" content="images/favicon/mstile-144x144.png"> <link rel="icon" href="images/favicon/favicon-32x32.png" sizes="32x32"> <!-- Android 5 Chrome Color--> <meta name="theme-color" content="#EE6E73"> <!-- CSS--> <link href="css/prism.css" rel="stylesheet"> <link href="css/ghpages-materialize.css" type="text/css" rel="stylesheet" media="screen,projection"> <link href="http://fonts.googleapis.com/css?family=Inconsolata" rel="stylesheet" type="text/css"> <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <script> window.liveSettings = { api_key: "a0b49b34b93844c38eaee15690d86413", picker: "bottom-right", detectlang: true, dynamic: true, autocollect: true }; </script> <script src="//cdn.transifex.com/live.js"></script> <link href="/extras/noUiSlider/nouislider.css" rel="stylesheet"> </head> <body> <header> <nav class="top-nav"> <div class="container"> <div class="nav-wrapper"><a class="page-title">Forms</a></div> </div> </nav> <div class="container"><a href="#" data-activates="nav-mobile" class="button-collapse top-nav full hide-on-large-only"><i class="material-icons">menu</i></a></div> <ul id="nav-mobile" class="side-nav fixed"> <li class="logo"><a id="logo-container" href="http://materializecss.com/" class="brand-logo"> <object id="front-page-logo" type="image/svg+xml" data="res/materialize.svg">Your browser does not support SVG</object></a></li> <li class="search"> <div class="search-wrapper card"> <input id="search"><i class="material-icons">search</i> <div class="search-results"></div> </div> </li> <li class="bold"><a href="about.html" class="waves-effect waves-teal">About</a></li> <li class="bold"><a href="getting-started.html" class="waves-effect waves-teal">Getting Started</a></li> <li class="no-padding"> <ul class="collapsible collapsible-accordion"> <li class="bold"><a class="collapsible-header waves-effect waves-teal">CSS</a> <div class="collapsible-body"> <ul> <li><a href="color.html">Color</a></li> <li><a href="grid.html">Grid</a></li> <li><a href="helpers.html">Helpers</a></li> <li><a href="media-css.html">Media</a></li> <li><a href="sass.html">Sass</a></li> <li><a href="shadow.html">Shadow</a></li> <li><a href="table.html">Table</a></li> <li><a href="css-transitions.html">Transitions</a></li> <li><a href="typography.html">Typography</a></li> </ul> </div> </li> <li class="bold"><a class="collapsible-header active waves-effect waves-teal">Components</a> <div class="collapsible-body"> <ul> <li><a href="badges.html">Badges</a></li> <li><a href="buttons.html">Buttons</a></li> <li><a href="breadcrumbs.html">Breadcrumbs</a></li> <li><a href="cards.html">Cards</a></li> <li><a href="chips.html">Chips</a></li> <li><a href="collections.html">Collections</a></li> <li><a href="footer.html">Footer</a></li> <li class="active"><a href="forms.html">Forms</a></li> <li><a href="icons.html">Icons</a></li> <li><a href="navbar.html">Navbar</a></li> <li><a href="pagination.html">Pagination</a></li> <li><a href="preloader.html">Preloader</a></li> </ul> </div> </li> <li class="bold"><a class="collapsible-header waves-effect waves-teal">JavaScript</a> <div class="collapsible-body"> <ul> <li><a href="carousel.html">Carousel</a></li> <li><a href="collapsible.html">Collapsible</a></li> <li><a href="dialogs.html">Dialogs</a></li> <li><a href="dropdown.html">Dropdown</a></li> <li><a href="media.html">Media</a></li> <li><a href="modals.html">Modals</a></li> <li><a href="parallax.html">Parallax</a></li> <li><a href="pushpin.html">Pushpin</a></li> <li><a href="scrollfire.html">ScrollFire</a></li> <li><a href="scrollspy.html">Scrollspy</a></li> <li><a href="side-nav.html">SideNav</a></li> <li><a href="tabs.html">Tabs</a></li> <li><a href="transitions.html">Transitions</a></li> <li><a href="waves.html">Waves</a></li> </ul> </div> </li> </ul> </li> <li class="bold"><a href="http://materializecss.com/mobile.html" class="waves-effect waves-teal">Mobile</a></li> <li class="bold"><a href="showcase.html" class="waves-effect waves-teal">Showcase</a></li> </ul> </header> <main><div class="container"> <div class="row"> <div class="col s12 m9 l10"> <div id="input" class="section scrollspy"> <p class="caption"> Forms are the standard way to receive user inputted data. The transitions and smoothness of these elements are very important because of the inherent user interaction associated with forms. </p> <h2 class="header">Input fields</h2> <p>Text fields allow user input. The border should light up simply and clearly indicating which field the user is currently editing. You must have a <code class="language-markup">.input-field</code> div wrapping your input and label. This helps our jQuery animate the label. This is only used in our Input and Textarea form elements.</p> <p>The validate class leverages HTML5 validation and will add a <code class="language-markup">valid</code> and <code class="language-markup">invalid</code> class accordingly. If you don't want the Green and Red validation states, just remove the <code class="language-markup">validate</code> class from your inputs.</p> <br> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s6"> <input placeholder="Placeholder" id="first_name" type="text" class="validate"> <label for="first_name">First Name</label> </div> <div class="input-field col s6"> <input id="last_name" type="text"> <label for="last_name">Last Name</label> </div> </div> <div class="row"> <div class="input-field col s12"> <input disabled value="I am not editable" id="disabled" type="text" class="validate"> <label for="disabled">Disabled</label> </div> </div> <div class="row"> <div class="input-field col s12"> <input id="password" type="password" class="validate"> <label for="password">Password</label> </div> </div> <div class="row"> <div class="input-field col s12"> <input id="email" type="email" class="validate"> <label for="email" data-error="wrong" data-success="right">Email</label> </div> </div> <div class="row"> <div class="col s12"> This is an inline input field: <div class="input-field inline"> <input id="email" type="email" class="validate"> <label for="email" data-error="wrong" data-success="right">Email</label> </div> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s6"> &lt;input placeholder="Placeholder" id="first_name" type="text" class="validate"> &lt;label for="first_name">First Name&lt;/label> &lt;/div> &lt;div class="input-field col s6"> &lt;input id="last_name" type="text" class="validate"> &lt;label for="last_name">Last Name&lt;/label> &lt;/div> &lt;/div> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;input disabled value="I am not editable" id="disabled" type="text" class="validate"> &lt;label for="disabled">Disabled&lt;/label> &lt;/div> &lt;/div> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;input id="password" type="password" class="validate"> &lt;label for="password">Password&lt;/label> &lt;/div> &lt;/div> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;input id="email" type="email" class="validate"> &lt;label for="email">Email&lt;/label> &lt;/div> &lt;/div> &lt;div class="row"> &lt;div class="col s12"> This is an inline input field: &lt;div class="input-field inline"> &lt;input id="email" type="email" class="validate"> &lt;label for="email" data-error="wrong" data-success="right">Email&lt;/label> &lt;/div> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre><br> <h4>Prefilling Text Inputs</h4> <p>If you are having trouble with the labels overlapping prefilled content, Try adding <code class="language-markup">class="active"</code> to the label. <br />You can also call the function <code class="language-javascript">Materialize.updateTextFields();</code> to reinitialize all the Materialize labels on the page if you are dynamically adding inputs.</p> <div class="row"> <div class="input-field col s6"> <input value="Alvin" id="first_name2" type="text" class="validate"> <label class="active" for="first_name2">First Name</label> </div> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;div class="input-field col s6"> &lt;input value="Alvin" id="first_name2" type="text" class="validate"> &lt;label class="active" for="first_name2">First Name&lt;/label> &lt;/div> &lt;/div> </code></pre> <pre><code class="language-javascript"> $(document).ready(function() { Materialize.updateTextFields(); }); </code></pre> <h4>Icon Prefixes</h4> <p>You can add an icon prefix to make the form input label even more clear. Just add an icon with the class <code class="language-markup">prefix</code> before the input and label.</p><br> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s6"> <i class="material-icons prefix">account_circle</i> <input id="icon_prefix" type="text" class="validate"> <label for="icon_prefix">First Name</label> </div> <div class="input-field col s6"> <i class="material-icons prefix">phone</i> <input id="icon_telephone" type="tel" class="validate"> <label for="icon_telephone">Telephone</label> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s6"> &lt;i class="material-icons prefix">account_circle</i>&lt;/i> &lt;input id="icon_prefix" type="text" class="validate"> &lt;label for="icon_prefix">First Name&lt;/label> &lt;/div> &lt;div class="input-field col s6"> &lt;i class="material-icons prefix">phone</i>&lt;/i> &lt;input id="icon_telephone" type="tel" class="validate"> &lt;label for="icon_telephone">Telephone&lt;/label> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre> <h4>Custom Error or Success Messages</h4> <p>You can add custom validation messages by adding either <code class="language-markup">data-error</code> or <code class="language-markup">data-success</code> attributes to your input field labels.</p><br> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s12"> <input id="email2" type="email" class="validate"> <label for="email2" data-error="wrong" data-success="right">Email</label> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;input id="email" type="email" class="validate"> &lt;label for="email" data-error="wrong" data-success="right">Email&lt;/label> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre> <h4>Changing colors</h4> <p>Here is a CSS template for modifying input fields in CSS. With Sass, you can achieve this by just changing a variable. The CSS shown below is unprefixed. Depending on what you use, you may have to change the type attribute selector.</p> <pre><code class="language-css"> /* label color */ .input-field label { color: #000; } /* label focus color */ .input-field input[type=text]:focus + label { color: #000; } /* label underline focus color */ .input-field input[type=text]:focus { border-bottom: 1px solid #000; box-shadow: 0 1px 0 0 #000; } /* valid color */ .input-field input[type=text].valid { border-bottom: 1px solid #000; box-shadow: 0 1px 0 0 #000; } /* invalid color */ .input-field input[type=text].invalid { border-bottom: 1px solid #000; box-shadow: 0 1px 0 0 #000; } /* icon prefix focus color */ .input-field .prefix.active { color: #000; } </code></pre> </div> <!-- Textarea Section --> <div id="textarea" class="section scrollspy"> <h2 class="header">Textarea</h2> <p>Textareas allow larger expandable user input. The border should light up simply and clearly indicating which field the user is currently editing. You must have a <code class="language-markup">.input-field</code> div wrapping your input and label. This helps our jQuery animate the label. This is only used in our Input and Textarea form elements.</p> <p><strong>Textareas will auto resize to the text inside.</strong></p> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s12"> <textarea id="textarea1" class="materialize-textarea"></textarea> <label for="textarea1">Textarea</label> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;textarea id="textarea1" class="materialize-textarea">&lt;/textarea> &lt;label for="textarea1">Textarea&lt;/label> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre> <p>advanced note: When dynamically changing the value of a textarea with methods like jQuery's <code class="language-markup">.val()</code>, you must trigger an autoresize on it afterwords because .val() does not automatically trigger the events we've binded to the textarea. </p> <pre><code class="language-javascript"> $('#textarea1').val('New Text'); $('#textarea1').trigger('autoresize'); </code></pre> <br> <h4>Icon Prefixes</h4> <p>You can add an icon prefix to make the form input label even more clear. Just add an icon with the class <code class="language-markup">prefix</code> before the input and label.</p><br> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s12"> <i class="material-icons prefix">mode_edit</i> <textarea id="icon_prefix2" class="materialize-textarea"></textarea> <label for="icon_prefix2">Message</label> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s6"> &lt;i class="material-icons prefix">mode_edit&lt;/i> &lt;textarea id="icon_prefix2" class="materialize-textarea">&lt;/textarea> &lt;label for="icon_prefix2">First Name&lt;/label> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre> </div> <div id="select" class="section scrollspy"> <h2 class="header">Select</h2> <p> Select allows user input through specified options. Make sure you wrap it in a <code class="language-markup">.input-field</code> for proper alignment with other text fields. Remember that this is a jQuery plugin so make sure you <a href="#select-initialization">initialize</a> this in your document ready. </p> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s12 m6"> <select> <option value="" disabled selected>Choose your option</option> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> <label>Materialize Select</label> </div> <div class="col s12"> <br> <p>You can add the property <code class="language-markup">multiple</code> to get the multiple select and select several options.</p> </div> <div class="input-field col s12 m6"> <select multiple> <option value="" disabled selected>Choose your option</option> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> <label>Materialize Multiple Select</label> </div> <div class="col s12"> <br> <p>We also support optgroups in our selects.</p> </div> <div class="input-field col s12 m6"> <select> <optgroup label="team 1"> <option value="1">Option 1</option> <option value="2">Option 2</option> </optgroup> <optgroup label="team 2"> <option value="3">Option 3</option> <option value="4">Option 4</option> </optgroup> </select> <label>Optgroups</label> </div> <div class="col s12"> <br> <p>You can add icons to your options in any type of select. In the option you add the image source with the <code class="language-markup">data-icon</code> attribute. You can add the <code class="language-markup">left</code> or <code class="language-markup">right</code> class to align your icon. You can also add the <code class="language-markup">circle</code> class to your icon.</p> </div> <div class="input-field col s12 m6"> <select class="icons"> <option value="" disabled selected>Choose your option</option> <option value="" data-icon="images/sample-1.jpg" class="circle">example 1</option> <option value="" data-icon="images/office.jpg" class="circle">example 2</option> <option value="" data-icon="images/yuna.jpg" class="circle">example 1</option> </select> <label>Images in select</label> </div> <div class="input-field col s12 m6"> <select class="icons"> <option value="" disabled selected>Choose your option</option> <option value="" data-icon="images/sample-1.jpg" class="left circle">example 1</option> <option value="" data-icon="images/office.jpg" class="left circle">example 2</option> <option value="" data-icon="images/yuna.jpg" class="left circle">example 3</option> </select> <label>Images in select</label> </div> <div class="col s12"> <br> <p>You can add the class <code class="language-markup">browser-default</code> to get the browser default.</p> </div> <div class="col s12 m6"> <label>Browser Select</label> <select class="browser-default"> <option value="" disabled selected>Choose your option</option> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> </div> </div> </form> <div class="col s12"> <pre><code class="language-markup"> &lt;div class="input-field col s12"> &lt;select> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;option value="3">Option 3&lt;/option> &lt;/select> &lt;label>Materialize Select&lt;/label> &lt;/div> &lt;div class="input-field col s12"> &lt;select multiple> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;option value="3">Option 3&lt;/option> &lt;/select> &lt;label>Materialize Multiple Select&lt;/label> &lt;/div> &lt;div class="input-field col s12"> &lt;select multiple> &lt;optgroup label="team 1"> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;/optgroup> &lt;optgroup label="team 2"> &lt;option value="3">Option 3&lt;/option> &lt;option value="4">Option 4&lt;/option> &lt;/optgroup> &lt;/select> &lt;label>Optgroups&lt;/label> &lt;/div> &lt;div class="input-field col s12 m6"> &lt;select class="icons"> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="" data-icon="images/sample-1.jpg" class="circle">example 1&lt;/option> &lt;option value="" data-icon="images/office.jpg" class="circle">example 2&lt;/option> &lt;option value="" data-icon="images/yuna.jpg" class="circle">example 1&lt;/option> &lt;/select> &lt;label>Images in select&lt;/label> &lt;/div> &lt;div class="input-field col s12 m6"> &lt;select class="icons"> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="" data-icon="images/sample-1.jpg" class="left circle">example 1&lt;/option> &lt;option value="" data-icon="images/office.jpg" class="left circle">example 2&lt;/option> &lt;option value="" data-icon="images/yuna.jpg" class="left circle">example 3&lt;/option> &lt;/select> &lt;label>Images in select&lt;/label> &lt;/div> &lt;label>Browser Select&lt;/label> &lt;select class="browser-default"> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;option value="3">Option 3&lt;/option> &lt;/select> </code></pre> </div> <div class="col s12"> <br><br> <h4>Disabled Styles</h4> <p>You can also add <code class="language-markup">disabled</code> to the select element to make the whole thing disabled. Or if you add <code class="language-markup">disabled</code> to the options, the individual options will be unselectable. </p> </div> <form class="col s12 m6"> <div class="row"> <div class="col s12"> <label>Materialize Disabled</label> <select disabled> <option value="" disabled selected>Choose your option</option> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> <label>Browser Disabled</label> <select class="browser-default" disabled> <option value="" disabled selected>Choose your option</option> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> </select> </div> </div> </form> <div class="col s12"> <pre><code class="language-markup"> &lt;label>Materialize Disabled&lt;/label> &lt;select disabled> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;option value="3">Option 3&lt;/option> &lt;/select> &lt;label>Browser Disabled&lt;/label> &lt;select class="browser-default" disabled> &lt;option value="" disabled selected>Choose your option&lt;/option> &lt;option value="1">Option 1&lt;/option> &lt;option value="2">Option 2&lt;/option> &lt;option value="3">Option 3&lt;/option> &lt;/select> </code></pre> </div> <div class="col s12"> <a name="select-initialization"></a> <h4>Initialization</h4> <p>You must initialize the select element as shown below. In addition, you will need a separate call for any dynamically generated select elements your page generates.</p> <pre><code class="language-javascript col s12"> $(document).ready(function() { $('select').material_select(); }); </code></pre> </div> <div class="col s12"> <h4>Updating/Destroying Select</h4> <p>If you want to update the items inside the select, just rerun the initialization code from above after editing the original select. Or you can destroy the material select with this function below, and create a new select altogether</p> <pre><code class="language-javascript"> $('select').material_select('destroy'); </code></pre> </div> </div> </div> <div id="radio" class="section scrollspy"> <h2 class="header">Radio Buttons</h2> <p>Radio Buttons are used when the user must make only one selection out of a group of items</p> <form action="#"> <p> <input name="group1" type="radio" id="test1" checked /> <label for="test1">Red</label> </p> <p> <input name="group1" type="radio" id="test2" /> <label for="test2">Yellow</label> </p> <p> <input class="with-gap" name="group1" type="radio" id="test3" /> <label for="test3">Green</label> </p> <p> <input name="group1" type="radio" id="test4" disabled="disabled" /> <label for="test4">Brown</label> </p> </form> <p>Add radio buttons to a group by adding the name attribute along with the same corresponding value for each of the radio buttons in the group. Create disabled radio buttons by adding the disabled attribute as shown below.</p> <pre><code class="language-markup"> &lt;form action="#"> &lt;p> &lt;input name="group1" type="radio" id="test1" /> &lt;label for="test1">Red&lt;/label> &lt;/p> &lt;p> &lt;input name="group1" type="radio" id="test2" /> &lt;label for="test2">Yellow&lt;/label> &lt;/p> &lt;p> &lt;input class="with-gap" name="group1" type="radio" id="test3" /> &lt;label for="test3">Green&lt;/label> &lt;/p> &lt;p> &lt;input name="group1" type="radio" id="test4" disabled="disabled" /> &lt;label for="test4">Brown&lt;/label> &lt;/p> &lt;/form> </code></pre> <h4>Options</h4> <p>To create a radio button with a gap, add <code class="language-markup">class="with-gap"</code> to your input. See the example below.</p> <p> <input class="with-gap" name="group3" type="radio" id="test5" checked /> <label for="test5">Red</label> </p> <pre><code class="language-markup"> &lt;p> &lt;input class="with-gap" name="group3" type="radio" id="test5" checked /> &lt;label for="test5">Red&lt;/label> &lt;/p> </code></pre> </div> <!-- Checkboxes --> <div id="checkbox" class="section scrollspy"> <h2 class="header">Checkboxes</h2> <p>Use checkboxes when looking for yes or no answers. The <code class="language-markup">for</code> attribute is necessary to bind our custom checkbox with the input. Add the input's <code class="language-markup">id</code> as the value of the <code class="language-markup">for</code> attribute of the label. </p> <form action="#"> <p> <input type="checkbox" id="test9" /> <label for="test9">Red</label> </p> <p> <input type="checkbox" id="test6" checked="checked" /> <label for="test6">Yellow</label> </p> <p> <input type="checkbox" class="filled-in" id="filled-in-box" checked="checked" /> <label for="filled-in-box">Filled in</label> </p> <p> <input type="checkbox" id="indeterminate-checkbox" /> <label for="indeterminate-checkbox">Indeterminate Style</label> </p> <p> <input type="checkbox" id="test7" checked="checked" disabled="disabled" /> <label for="test7">Green</label> </p> <p> <input type="checkbox" id="test8" disabled="disabled" /> <label for="test8">Brown</label> </p> </form> <pre><code class="language-markup"> &lt;form action="#"> &lt;p> &lt;input type="checkbox" id="test5" /> &lt;label for="test5">Red&lt;/label> &lt;/p> &lt;p> &lt;input type="checkbox" id="test6" checked="checked" /> &lt;label for="test6">Yellow&lt;/label> &lt;/p> &lt;p> &lt;input type="checkbox" class="filled-in" id="filled-in-box" checked="checked" /> &lt;label for="filled-in-box">Filled in&lt;/label> &lt;/p> &lt;p> &lt;input type="checkbox" id="indeterminate-checkbox" /> &lt;label for="indeterminate-checkbox">Indeterminate Style&lt;/label> &lt;/p> &lt;p> &lt;input type="checkbox" id="test7" checked="checked" disabled="disabled" /> &lt;label for="test7">Green&lt;/label> &lt;/p> &lt;p> &lt;input type="checkbox" id="test8" disabled="disabled" /> &lt;label for="test8">Brown&lt;/label> &lt;/p> &lt;/form> </code></pre> </div> <!-- Switches --> <div id="switches" class="section scrollspy"> <h2 class="header">Switches</h2> <form action="#"> <p> <div class="switch"> <label> Off <input checked type="checkbox"> <span class="lever"></span> On </label> </div> </p> <p> <div class="switch"> <label> Off <input disabled type="checkbox"> <span class="lever"></span> On </label> </div> </p> </form> <pre><code class="language-markup"> &lt;!-- Switch --> &lt;div class="switch"> &lt;label> Off &lt;input type="checkbox"> &lt;span class="lever">&lt;/span> On &lt;/label> &lt;/div> &lt;!-- Disabled Switch --> &lt;div class="switch"> &lt;label> Off &lt;input disabled type="checkbox"> &lt;span class="lever">&lt;/span> On &lt;/label> &lt;/div> </code></pre> </div> <div id="file" class="section scrollspy"> <h2 class="header">File Input</h2> <p>If you want to style an input button with a path input we provide this structure.</p> <form action="#"> <div class="file-field input-field"> <div class="btn"> <span>File</span> <input type="file"> </div> <div class="file-path-wrapper"> <input class="file-path validate" type="text"> </div> </div> </form> <pre><code class="language-markup"> &lt;form action="#"> &lt;div class="file-field input-field"> &lt;div class="btn"> &lt;span>File&lt;/span> &lt;input type="file"> &lt;/div> &lt;div class="file-path-wrapper"> &lt;input class="file-path validate" type="text"> &lt;/div> &lt;/div> &lt;/form> </code></pre> <p>You can also use the <code class="language-markup">multiple</code> attribute to allow multiple file uploads. </p> <form action="#"> <div class="file-field input-field"> <div class="btn"> <span>File</span> <input type="file" multiple> </div> <div class="file-path-wrapper"> <input class="file-path validate" type="text" placeholder="Upload one or more files"> </div> </div> </form> <pre><code class="language-markup"> &lt;form action="#"> &lt;div class="file-field input-field"> &lt;div class="btn"> &lt;span>File&lt;/span> &lt;input type="file" multiple> &lt;/div> &lt;div class="file-path-wrapper"> &lt;input class="file-path validate" type="text" placeholder="Upload one or more files"> &lt;/div> &lt;/div> &lt;/form> </code></pre> </div> <div id="range" class="section scrollspy"> <h2 class="header">Range</h2> <p>Add a range slider for values with a wide range. This one is set to be a number between 0 and 100. We have two different types of sliders. nouiSlider is a 3rd party plugin which we've modified. To use the noUiSlider, you will have to manually link the <code class="language-markup">nouislider.css</code> and <code class="language-markup">nouislider.js</code> files located in the extras folder.</p> <h4>noUiSlider</h4> <p>See noUiSlider's official documentation <a href="http://refreshless.com/nouislider/">here</a> to see a variety of slider options</p> <div id="range-input"></div> <p>&nbsp;</p> <pre><code class="language-javascript"> var slider = document.getElementById('test5'); noUiSlider.create(slider, { start: [20, 80], connect: true, step: 1, range: { 'min': 0, 'max': 100 }, format: wNumb({ decimals: 0 }) }); </code></pre> <h4>HTML5 Range</h4> <form action="#"> <p class="range-field"> <input type="range" name="points" min="0" max="100"> </p> </form> <pre><code class="language-markup"> &lt;form action="#"> &lt;p class="range-field"> &lt;input type="range" id="test5" min="0" max="100" /> &lt;/p> &lt;/form> </code></pre> </div> <div id="date-picker" class="section scrollspy"> <h2 class="header">Date Picker</h2> <p>We use a modified version of pickadate.js to create a materialized date picker. Test it out below! </p> <label for="birthdate">Birthdate</label> <input id="birthdate" type="text" class="datepicker"> <pre><code class="language-markup"> &lt;input type="date" class="datepicker"> </code></pre> <h4>Initialization</h4> <p>At this time, not all pickadate.js options are working with our implementation</p> <pre><code class="language-javascript"> $('.datepicker').pickadate({ selectMonths: true, // Creates a dropdown to control month selectYears: 15 // Creates a dropdown of 15 years to control year }); </code></pre> </div> <div id="character-counter" class="section scrollspy"> <h2 class="header">Character Counter</h2> <p class="caption">Use a character counter in fields where a character restriction is in place.</p> <div class="row"> <form class="col s12"> <div class="row"> <div class="input-field col s6"> <input id="input_text" type="text" data-length="10"> <label for="input_text">Input text</label> </div> </div> <br/> <div class="row"> <div class="input-field col s12"> <textarea id="textarea1" class="materialize-textarea" data-length="120"></textarea> <label for="textarea1">Textarea</label> </div> </div> </form> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;form class="col s12"> &lt;div class="row"> &lt;div class="input-field col s6"> &lt;input id="input_text" type="text" data-length="10"> &lt;label for="input_text">Input text&lt;/label> &lt;/div> &lt;/div> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;textarea id="textarea1" class="materialize-textarea" data-length="120">&lt;/textarea> &lt;label for="textarea1">Textarea&lt;/label> &lt;/div> &lt;/div> &lt;/form> &lt;/div> </code></pre> <br> <h4>Initialization</h4> <p>There are no options for this plugin, but if you are adding these dynamically, you can use this to initialize them.</p> <pre><code class="language-javascript"> $(document).ready(function() { $('input#input_text, textarea#textarea1').characterCounter(); }); </code></pre> </div> <div id="autocomplete" class="section scrollspy"> <h2 class="header">Autocomplete</h2> <p class="caption"> Add an autocomplete dropdown below your input to suggest possible values. </p> <div class="row"> <div class="col s12"> <div class="row"> <div class="input-field col s12"> <i class="material-icons prefix">textsms</i> <input type="text" id="autocomplete-input" class="autocomplete"> <label for="autocomplete-input">Autocomplete</label> </div> </div> </div> </div> <pre><code class="language-markup"> &lt;div class="row"> &lt;div class="col s12"> &lt;div class="row"> &lt;div class="input-field col s12"> &lt;i class="material-icons prefix">textsms&lt;/i> &lt;input type="text" id="autocomplete-input" class="autocomplete"> &lt;label for="autocomplete-input">Autocomplete&lt;/label> &lt;/div> &lt;/div> &lt;/div> &lt;/div> </code></pre> <h4>Initialization</h4> <p>The data is a json object where the key is the matching string and the value is an optional image url.</p> <pre><code class="language-javascript"> $('input.autocomplete').autocomplete({ data: { "Apple": null, "Microsoft": null, "Google": 'http://placehold.it/250x250' }, limit: 20, // The max amount of results that can be shown at once. Default: Infinity. }); </code></pre> </div> </div> <div class="col hide-on-small-only m3 l2"> <div class="toc-wrapper"> <div class="buysellads hide-on-small-only"> <!-- CarbonAds Zone Code --> <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=materializecss" id="_carbonads_js"></script> </div> <div style="height: 1px;"> <ul class="section table-of-contents"> <li><a href="#input">Input Fields</a></li> <li><a href="#textarea">Textareas</a></li> <li><a href="#select">Select</a></li> <li><a href="#radio">Radio Buttons</a></li> <li><a href="#checkbox">Checkboxes</a></li> <li><a href="#switches">Switches</a></li> <li><a href="#file">File Input Button</a></li> <li><a href="#range">Range</a></li> <li><a href="#date-picker">Date Picker</a></li> <li><a href="#character-counter">Character Counter</a></li> <li><a href="#autocomplete">Autocomplete</a></li> </ul> </div> </div> </div> </div> </div> </main> <footer class="page-footer"> <div class="container"> <div class="row"> <div class="col l4 s12"> <h5 class="white-text">Help Materialize Grow</h5> <p class="grey-text text-lighten-4">We are a team of college students working on this project like it's our full time job. Any amount would help support and continue development on this project and is greatly appreciated.</p> <form id="paypal-donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> <input type="hidden" name="cmd" value="_s-xclick"> <input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7----- "> <button class="btn waves-effect waves-light red lighten-3" type="submit" name="action" alt="PayPal - The safer, easier way to pay online!">Donate Now </button> </form> </div> <div class="col l4 s12"> <h5 class="white-text">Join the Discussion</h5> <p class="grey-text text-lighten-4">We have a Gitter chat room set up where you can talk directly with us. Come in and discuss new features, future goals, general problems or questions, or anything else you can think of.</p> <a class="btn waves-effect waves-light red lighten-3" target="_blank" href="https://gitter.im/Dogfalo/materialize">Chat</a> </div> <div class="col l4 s12" style="overflow: hidden;"> <h5 class="white-text">Connect</h5> <iframe src="http://ghbtns.com/github-btn.html?user=dogfalo&repo=materialize&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="170" height="30"></iframe> <br> <a href="https://twitter.com/MaterializeCSS" class="twitter-follow-button" data-show-count="true" data-size="large" data-dnt="true">Follow @MaterializeCSS</a> <br> <div class="g-follow" data-annotation="bubble" data-height="24" data-href="https://plus.google.com/108619793845925798422" data-rel="publisher"></div> </div> </div> </div> <div class="footer-copyright"> <div class="container"> © 2014-2017 Materialize, All rights reserved. <a class="grey-text text-lighten-4 right" href="https://github.com/Dogfalo/materialize/blob/master/LICENSE">MIT License</a> </div> </div> </footer> <!-- Scripts--> <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> <script>if (!window.jQuery) { document.write('<script src="bin/jquery-2.1.1.min.js"><\/script>'); } </script> <script src="js/jquery.timeago.min.js"></script> <script src="js/prism.js"></script> <script src="jade/lunr.min.js"></script> <script src="jade/search.js"></script> <script src="bin/materialize.js"></script> <script src="js/init.js"></script> <!-- Twitter Button --> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <!-- Google Plus Button--> <script src="https://apis.google.com/js/platform.js" async defer></script> <!-- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-56218128-1', 'auto'); ga('require', 'displayfeatures'); ga('send', 'pageview'); </script> <script src="/extras/noUiSlider/nouislider.js"></script> <script type="text/javascript"> var slider = document.getElementById('range-input'); noUiSlider.create(slider, { start: [20, 80], connect: true, step: 1, range: { 'min': 0, 'max': 100 }, format: wNumb({ decimals: 0 }) }); </script> </body> </html>