Fixed select menu
diff --git a/dev/js/spec/selectMenuSpec.js b/dev/js/spec/selectMenuSpec.js
index 5f0c909..26cfd25 100644
--- a/dev/js/spec/selectMenuSpec.js
+++ b/dev/js/spec/selectMenuSpec.js
@@ -54,6 +54,27 @@
// TODO: Improve lcfield!!!!!!
expect(menu.shownItem(0).lcField()).toEqual(' poliqarp');
});
+
+ it('should first show the selected value', function () {
+ var div = document.createElement('div');
+ var element = div.appendChild(document.createElement('select'));
+ for (i in list) {
+ var opt = element.appendChild(document.createElement('option'));
+ opt.setAttribute('value', list[i].value);
+ opt.appendChild(document.createTextNode(list[i].content));
+ };
+
+ expect(element.selectedIndex).toEqual(0);
+
+ // Select annis
+ element.children[2].selected = true;
+
+ expect(element.selectedIndex).toEqual(2);
+
+ var menu = selectMenuClass.create(div);
+ menu.show(3);
+ expect(menu._title.textContent).toEqual('Annis');
+ });
});
}
);
diff --git a/dev/js/src/api.js b/dev/js/src/api.js
index c03013f..5295b3c 100644
--- a/dev/js/src/api.js
+++ b/dev/js/src/api.js
@@ -28,7 +28,7 @@
// This is for legacy support
var legacy = legacySigle.exec(match.textSigle);
- if (legacy[0]) {
+ if (legacy !== null && legacy[0]) {
url += '/' + legacy[1] + '/' + legacy[2] + '/' + legacy[3];
}
else {
diff --git a/dev/js/src/selectMenu.js b/dev/js/src/selectMenu.js
index d8db4cd..dc0f863 100644
--- a/dev/js/src/selectMenu.js
+++ b/dev/js/src/selectMenu.js
@@ -36,7 +36,7 @@
._init(list, {
itemClass : selectMenuItemClass
});
-
+
obj._container = element;
obj._select = select;
obj._select.style.display = 'none';
@@ -67,7 +67,6 @@
this.showTitle();
}.bind(obj));
- // Show the title
obj.showTitle();
return obj;
},
@@ -81,7 +80,7 @@
this._select.selectedIndex = index;
};
- return this._selected || 0;
+ return this._selected || this._select.selectedIndex || 0;
},
/**