|
38 | 38 | <label>Multi-Select</label>
|
39 | 39 | </div>
|
40 | 40 |
|
| 41 | + <div class="input-field col s12"> |
| 42 | + <button class="btn1">Get Single-Select Values</button> |
| 43 | + <button class="btn2">Get Multi-Select Values</button> |
| 44 | + </div> |
| 45 | + |
41 | 46 | <div class="input-field col s12">
|
42 | 47 | <select>
|
43 | 48 | <optgroup label="team 1">
|
|
52 | 57 | <label>Single-Select with Optgroups</label>
|
53 | 58 | </div>
|
54 | 59 |
|
55 |
| - <div class="input-field col s12 m6"> |
56 |
| - <select class="icons"> |
57 |
| - <option value="" disabled selected>Choose your option</option> |
58 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_a.png">example 1</option> |
59 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_b.png">example 2</option> |
60 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_c.png">example 3</option> |
61 |
| - </select> |
62 |
| - <label>Single-Select with Images (right)</label> |
| 60 | + <div class="row"> |
| 61 | + <h5>Selects with Images</h5> |
| 62 | + <div class="input-field col s12 m6"> |
| 63 | + <select class="icons"> |
| 64 | + <option value="" disabled selected>Choose your option</option> |
| 65 | + <option value="" data-icon="../../docs/images/placeholder/250x250_a.png">example 1</option> |
| 66 | + <option value="" data-icon="../../docs/images/placeholder/250x250_b.png">example 2</option> |
| 67 | + <option value="" data-icon="../../docs/images/placeholder/250x250_c.png">example 3</option> |
| 68 | + </select> |
| 69 | + <label>Single-Select with Images (right)</label> |
| 70 | + </div> |
| 71 | + <div class="input-field col s12 m6"> |
| 72 | + <select class="icons"> |
| 73 | + <option value="" disabled selected>Choose your option</option> |
| 74 | + <option value="" data-icon="../../docs/images/placeholder/250x250_a.png" class="left">example 1</option> |
| 75 | + <option value="" data-icon="../../docs/images/placeholder/250x250_b.png" class="left">example 2</option> |
| 76 | + <option value="" data-icon="../../docs/images/placeholder/250x250_c.png" class="left">example 3</option> |
| 77 | + </select> |
| 78 | + <label>Single-Select with Images (left)</label> |
| 79 | + </div> |
63 | 80 | </div>
|
64 | 81 |
|
65 |
| - <div class="input-field col s12 m6"> |
66 |
| - <select class="icons"> |
67 |
| - <option value="" disabled selected>Choose your option</option> |
68 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_a.png" class="left">example 1</option> |
69 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_b.png" class="left">example 2</option> |
70 |
| - <option value="" data-icon="../../docs/images/placeholder/250x250_c.png" class="left">example 3</option> |
71 |
| - </select> |
72 |
| - <label>Single-Select with Images (left)</label> |
| 82 | + <div class="row"> |
| 83 | + <h5>Select with selected Options</h5> |
| 84 | + <div class="input-field col s12 m6"> |
| 85 | + <select> |
| 86 | + <option value="" disabled>Choose your option</option> |
| 87 | + <option value="1">Option 1</option> |
| 88 | + <option value="2" selected>Option 2</option> |
| 89 | + <option value="3">Option 3</option> |
| 90 | + </select> |
| 91 | + <label>Single-Select with Value set</label> |
| 92 | + </div> |
| 93 | + <div class="input-field col s12 m6"> |
| 94 | + <select multiple class="icons"> |
| 95 | + <option value="" disabled selected>Choose your option</option> |
| 96 | + <option value="1" selected data-icon="../../docs/images/placeholder/250x250_a.png">example 1</option> |
| 97 | + <option value="2" selected data-icon="../../docs/images/placeholder/250x250_b.png">example 2</option> |
| 98 | + <option value="3" disabled data-icon="../../docs/images/placeholder/250x250_c.png">example 3</option> |
| 99 | + <option value="4" selected disabled data-icon="../../docs/images/placeholder/250x250_d.png">example 3</option> |
| 100 | + <option value="5" data-icon="../../docs/images/placeholder/250x250_e.png">example 4</option> |
| 101 | + <option value="6">example 5</option> |
| 102 | + </select> |
| 103 | + <label>Multi-Select with Images (right) and Pre-Selections</label> |
| 104 | + </div> |
73 | 105 | </div>
|
74 | 106 |
|
75 |
| - <div class="input-field col s12 m6"> |
76 |
| - <select multiple class="icons"> |
77 |
| - <option value="" disabled selected>Choose your option</option> |
78 |
| - <option value="1" selected data-icon="../../docs/images/placeholder/250x250_a.png">example 1</option> |
79 |
| - <option value="2" data-icon="../../docs/images/placeholder/250x250_b.png">example 2</option> |
80 |
| - <option value="3" disabled data-icon="../../docs/images/placeholder/250x250_c.png">example 3</option> |
81 |
| - <option value="4" selected disabled data-icon="../../docs/images/placeholder/250x250_d.png">example 3</option> |
82 |
| - </select> |
83 |
| - <label>Multi-Select with Images (right) and Pre-Selections</label> |
| 107 | + <div class="row"> |
| 108 | + <h5>Dynamically generated Select-Options <button class="btn3">Create + Init Select</button></h5> |
| 109 | + <div class="input-field col s12 m6"> |
| 110 | + <select class="dynamic-select-single"></select> |
| 111 | + <label>Dynamic Single-Select</label> |
| 112 | + </div> |
| 113 | + <div class="input-field col s12 m6"> |
| 114 | + <select class="dynamic-select-multi" multiple></select> |
| 115 | + <label>Dynamic Multi-Select</label> |
| 116 | + </div> |
84 | 117 | </div>
|
85 | 118 |
|
86 | 119 | <label>Browser Select</label>
|
|
91 | 124 | <option value="3">Option 3</option>
|
92 | 125 | </select>
|
93 | 126 |
|
94 |
| - <div style="margin-top:3em;"> |
95 |
| - <button class="btn1">First Single-Select Values</button> |
96 |
| - <button class="btn2">First Multi-Select Values</button> |
97 |
| - </div> |
98 | 127 |
|
99 | 128 | <script src="../../../bin/materialize.js"></script>
|
100 | 129 | <script type="text/javascript">
|
|
113 | 142 | });
|
114 | 143 | document.querySelector('.btn2').addEventListener('click', e => {
|
115 | 144 | alert(instances[1].getSelectedValues());
|
| 145 | + }); |
| 146 | + document.querySelector('.btn3').addEventListener('click', e => { |
| 147 | + const optionIndexes = [1,2,3,4,5,6]; |
| 148 | + // Single-Select |
| 149 | + const singleSelect = document.querySelector('.dynamic-select-single'); |
| 150 | + singleSelect.innerHTML = ''; |
| 151 | + optionIndexes.map(index => { |
| 152 | + const option = document.createElement('option'); |
| 153 | + option.value = index; |
| 154 | + option.innerText = 'option '+index; |
| 155 | + const isSelected = index === 3; |
| 156 | + // Set via Attribute |
| 157 | + if (isSelected) |
| 158 | + option.setAttribute('selected', 'selected'); |
| 159 | + singleSelect.appendChild(option); |
| 160 | + }); |
| 161 | + // Multi-Select |
| 162 | + const multiSelect = document.querySelector('.dynamic-select-multi'); |
| 163 | + multiSelect.innerHTML = ''; |
| 164 | + optionIndexes.map(index => { |
| 165 | + const option = document.createElement('option'); |
| 166 | + option.value = index; |
| 167 | + option.innerText = 'option '+index; |
| 168 | + // Set directly (all even options) |
| 169 | + option.selected = index % 2 === 0; |
| 170 | + multiSelect.appendChild(option); |
| 171 | + }); |
| 172 | + // Init both |
| 173 | + M.FormSelect.init(singleSelect, {}); |
| 174 | + M.FormSelect.init(multiSelect, {}); |
116 | 175 | });
|
| 176 | + |
117 | 177 | });
|
118 | 178 | </script>
|
119 | 179 | </body>
|
|
0 commit comments