Try
data.sort();
var chars = {};
$.each(data, function (_, item) {
var char = item[0].charAt(0).toUpperCase();
if (!chars[char]) {
chars[char] = $('<optgroup />', {
label: char
}).appendTo('select');
}
$('<option />', {
text: item[0],
value: item[0]
}).appendTo(chars[char]);
});
Demo: Fiddle
Update:
$.when($.indexedDB("dbname").objectStore('employee').each(function (item) {
employeenames.push([item.value.name, item.value.id]);
}).then(function () {
employeenames.sort();
var chars = {};
$.each(employeenames, function (_, item) {
var char = item[0].charAt(0).toUpperCase();
if (!chars[char]) {
chars[char] = $('<optgroup />', {
label: char
}).appendTo('#employeenameBox select');
}
$('<option />', {
text: item[0],
value: item[0]
}).appendTo(chars[char]);
});
});