Vorerst, was ich in JavaScript ein Menü tat. Das musste ich sowieso in JavaScript für meine Zwecke tun, also war es kein Problem, einfach ein Menü anstelle eines Dropdowns zu verwenden. Ich hoffe, Sie finden es nützlich!
<div id="insert-here"></div>
<script>
var onSelect = function(){
this.button.innerHTML = this.innerHTML;
}
var insertPoint = 'insert-here';
var numberOfDropdowns = 0;
function makeDropdown(options){
// create the button
var button = document.createElement('BUTTON');
button.id = numberOfDropdowns; // this is how Material Design associates option/button
button.setAttribute('class', 'mdl-button mdl-js-button');
button.innerHTML = 'Default';
document.getElementById(insertPoint).appendChild(button);
// add the options to the button (unordered list)
var ul = document.createElement('UL');
ul.setAttribute('class', 'mdl-menu mdl-js-menu mdl-js-ripple-effect');
ul.setAttribute('for', numberOfDropdowns); // associate button
for(var index in options) {
// add each item to the list
var li = document.createElement('LI');
li.setAttribute('class', 'mdl-menu__item');
li.innerHTML = options[index];
li.button = button;
li.onclick = onSelect;
ul.appendChild(li);
}
document.getElementById(insertPoint).appendChild(ul);
// and finally add the list to the HTML
numberOfDropdowns++;
}
var optionsA = ["a", "b", "c", "d"];
makeDropdown(optionsA);
var optionsB = ["e", "f", "g", "h"];
makeDropdown(optionsB);
</script>
jsFiddle Link: https://jsfiddle.net/zatxzx6b/3/embedded/result/
Es gibt eine Diskussion in den GitHub-Ausgaben: https://github.com/google/material-design-lite/issues/854 –
Danke. Sieht so aus, als hätten sie es komplett vermisst. – Chase
Nicht verpasst, nur nicht genug Zeit, um es für den Start fertig zu machen. – Garbee