Jquery UI selectmenu - навигация по русскоязычным значениям?
Стандартный <select> при включенной русской раскладке "прыгает" на значения, начинающиеся с вводимого символа. А вот jquery ui виджет selectmenu (http://jqueryui.com/selectmenu/) русский язык не воспринимает :( Кто-нибудь сталкивался?
|
selectmenu поиск по первой букве с клавиатуры
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> |
Часовой пояс GMT +3, время: 08:56. |