Показать сообщение отдельно
  #2 (permalink)  
Старый 26.11.2015, 16:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

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>
Ответить с цитированием