diff --git a/dev/js/src/selectMenu.js b/dev/js/src/selectMenu.js
new file mode 100644
index 0000000..d51c31a
--- /dev/null
+++ b/dev/js/src/selectMenu.js
@@ -0,0 +1,43 @@
+define(
+  ['menu', 'menu/item', 'menu/prefix', 'menu/lengthField'],
+  function (menuClass, menuItemClass, prefixClass, lengthFieldClass) {
+
+    return {
+      create : function (element) {
+	var obj = Object.create(menuClass);
+
+	obj._shadow = element;
+
+	var list = [];
+	var options = element.getElementsByTagName('option');
+
+	for (var i = 0; i < options.length; i++) {
+
+	  var item = options.item(i);
+	  var opt = [
+	    item.textContent,
+	    item.getAttribute('value')
+	  ];
+
+	  if (item.hasAttribute('desc'))
+	    opt.push(item.getAttribute('desc'));
+
+	  list.push(opt);
+	};
+
+
+	obj = obj.upgradeTo(this)
+	  ._init(menuItemClass, prefixClass, lengthFieldClass, list);
+
+	obj._firstActive = true;
+
+	element.style.display = 'none';
+
+	if (element.parentNode)
+	  element.parentNode.appendChild(obj.element());
+
+	return obj;
+      }
+    }
+  }
+);
