kekcius,
Вариант ... находит первое слово которое начинается на нажатую букву
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>selectmenu demo</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<style>
label { display: block; }
select { width: 200px; }
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
</head>
<body>
<label for="speed">Select a speed:</label>
<select name="speed" id="speed">
<option value="oplNalKur">Наличными курьеру </option>
<option value="moneta32863">Карта сбербанк </option>
<option value="moneta1020">Яндекс деньги </option>
<option value="moneta1017"> <a class="tc-tiddlylink tc-tiddlylink-missing" href="#WebMoney">WebMoney</a> </option>
<option value="moneta31086">Киви кошелек </option>
<option value="moneta32767" selected="selected">Пластиковая карта VISA</option>
<option value="moneta36992">Пластиковая карта <a class="tc-tiddlylink tc-tiddlylink-missing" href="#MasterCard">MasterCard</a></option>
<option value="all">выбрать другой способ оплаты</option>
</select>
<script>
$.widget("my.rSelectmenu", $.ui.selectmenu, {
_create: function() {
this._buttonEvents.keypress = function(event) {
function fixedFromCharCode(codePt) {
if (codePt > 65535) {
codePt -= 65536;
return String.fromCharCode(55296 + (codePt >> 10), 56320 + (codePt & 1023))
} else return String.fromCharCode(codePt)
}
var str = fixedFromCharCode(event.keyCode),
next;
if (str) {
str = str.toLowerCase();
this.menuItems.each(function(indx, item) {
var text = $(item).text().toLowerCase();
if (!text.indexOf(str) && !next) {
next = $(item);
preventDefault = false
}
});
if (next.length) this.menuInstance.focus(event,
next)
}
};
$.ui.selectmenu.prototype._create.call(this)
}
});
$( "#speed" ).rSelectmenu();
</script>
</body>
</html>