Nascent Personality Manifestation
Have ideas to improve npm?Join in the discussion! »

getmdl-select

2.0.1 • Public • Published

getmdl-select

Material Design Lite selectfield component material-design-lite

Live Example

alt tag

Check out the example

Install

There are three ways to install getmdl-select:

  1. Using npm: Use this command in your command line:

    npm install getmdl-select
  2. Using Bower: Use this command in your command line:

    bower install getmdl-select
  3. Clone the repo using Git:

    git clone https://github.com/CreativeIT/getmdl-select.git

    (Alternatively you can download this repository.) And then:

    cd getmdl-select   
    npm install

Basic use

To use any MDL component, you must include the minified CSS and JavaScript files using standard relative-path references in the <head> section of the page, as described in the MDL Introduction.

<!-- getmdl -->
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="your_path_to/material-design-lite/material.min.css">
<script defer src="your_path_to/material-design-lite/material.min.js"></script>   
<!--getmdl-select-->   
<link rel="stylesheet" href="path_to/getmdl-select/getmdl-select.min.css">
<script defer src="path_to/getmdl-select/getmdl-select.min.js"></script>

Example

Simple select field. To see other examples visit this page.

   <div class="mdl-textfield mdl-js-textfield getmdl-select">
      <input class="mdl-textfield__input" value="" id="country" readonly/>
      <input value="" type="hidden" name="country"/>
      <label class="mdl-textfield__label" for="country">Сountry</label>
      <ul class="mdl-menu mdl-menu--bottom-left mdl-js-menu" for="country">
        <li class="mdl-menu__item" data-val="BLR">Belarus</li>
        <li class="mdl-menu__item" data-val="BRA">Brazil</li>
        <li class="mdl-menu__item" data-val="FRA">France</li>
        <li class="mdl-menu__item" data-val="DEU">Germany</li>
        <li class="mdl-menu__item" data-val="RUS">Russia</li>
      </ul>
   </div>

Important

If you want to use more than one getmdl-select item use different ids for inputs and don't forget to change ul and label's for attributes. It works wrong without this.

Configuration options

Dynamically usage

For dynamically usage, you must add getmdlSelect.init(cssSelector) in javascript code, (where cssSelector, for example, is ".getmdl-select" or "#mySelect"), after new item is created or any new element added to existing list.

data-val

Every li should have its own data-val attribute. Choosing any element of select you change value of hidden input as data-val property of corresponding li. Also you change value of readonly input to li.textContent. Then after form submit, next pair hiddenInputName=hiddenInputValue will send to server side.

Pre-selected item

To set pre-selected value add data-selected="true" attribute to corresponding li in your list.

Width

Initial Select takes the default width (300px). You can change it by overriding the CSS property width.

Height

Options list automatically adapt to the maximum height by content. If you want to use small height (300px) and see scroll bar, add class getmdl-select__fix-height.

LICENSE

See the LICENSE file for license rights and limitations (MIT).

Support the project

Install

npm i getmdl-select

DownloadsWeekly Downloads

202

Version

2.0.1

License

MIT

Last publish

Collaborators

  • avatar
  • avatar
  • avatar