forked from 0x2620/oxjs
autocomplete, continued
This commit is contained in:
parent
301a9759db
commit
2e6f3cd64b
2 changed files with 61 additions and 24 deletions
|
|
@ -1566,15 +1566,20 @@ requires
|
|||
});
|
||||
}
|
||||
function autocomplete(items) {
|
||||
items = $.map(items, function(title) {
|
||||
return {
|
||||
id: title.toLowerCase(), // fixme: need function to do lowercase, underscores etc?
|
||||
title: title
|
||||
}
|
||||
});
|
||||
self.menu.options({
|
||||
items: items
|
||||
}).showMenu();
|
||||
if (items.length) {
|
||||
items = $.map(items, function(title) {
|
||||
return {
|
||||
id: title.toLowerCase(), // fixme: need function to do lowercase, underscores etc?
|
||||
title: title
|
||||
}
|
||||
});
|
||||
self.menu.options({
|
||||
items: items
|
||||
}).showMenu();
|
||||
that.val(self.menu.options("items")[0].title);
|
||||
} else {
|
||||
self.menu.hideMenu();
|
||||
}
|
||||
}
|
||||
function change() {
|
||||
|
||||
|
|
@ -1597,14 +1602,32 @@ requires
|
|||
}
|
||||
}
|
||||
function keypress() {
|
||||
var val = that.val();
|
||||
if (self.options.autocomplete && val != self.options.value) {
|
||||
self.options.value = val;
|
||||
if (val === "") {
|
||||
self.menu.hideMenu();
|
||||
} else {
|
||||
self.options.autocomplete(val, autocomplete);
|
||||
setTimeout(function() {
|
||||
var val = that.val();
|
||||
if (self.options.autocomplete && val != self.options.value) {
|
||||
self.options.value = val;
|
||||
if (val === "") {
|
||||
self.menu.hideMenu();
|
||||
} else {
|
||||
self.options.autocomplete(val, autocomplete);
|
||||
}
|
||||
}
|
||||
}, 50);
|
||||
}
|
||||
function select(start, end) {
|
||||
var element = that.$element[0],
|
||||
range;
|
||||
if (element.createTextRange) {
|
||||
range = element.createTextRange();
|
||||
range.collapse(true);
|
||||
range.moveStart("character", start);
|
||||
range.moveEnd("character", end);
|
||||
range.select();
|
||||
} else if (element.setSelectionRange) {
|
||||
element.setSelectionRange(start, end);
|
||||
} else if (element.selectionStart) {
|
||||
element.selectionStart = start;
|
||||
element.selectionEnd = end;
|
||||
}
|
||||
}
|
||||
return that;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue