select2 input text
Есть форма
<div class="group"> <label> центр</label> <input type="text" name="brand" id="brand" title="Выберите"> </div> И скрипт для её инициализации $("#brand").select2({ placeholder : "Выберите ", data : ["test", "temp", "taunt", "twist"] }).on("change", function(){alert(1);}); Если выбрать какой-то элемент, то сработает алерт. Но я не могу прицепить отлов события, когда в input изменяется содержимое, т.е. например keypress не срабатывает. Как отловить изменение в input? |
Ford,
здесь Цитата:
а что Вам надо? Вы же явно ставите ,чтобы при изменении срабатывала функция. |
Я просто пример привел. Там при клике на элемент выпадающего списка вызывается событие. А если, пример, вместо change написать keypress и начать вводить текст, то ничего не срабатывает.
|
Ford,
а так ? $("#brand").select2({ placeholder : "Выберите ", data : ["test", "temp", "taunt", "twist"] }).on("keyup keydown", function(){alert(1);}); |
Mess4me,
и так тоже. |
Цитата:
Цитата:
|
рони,
Цитата:
|
Ford,
так работает <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="//code.jquery.com/jquery-1.11.3.min.js"></script> </head> <body> <div class="group"> <label> центр</label> <input type="text" name="brand" id="brand" title="Выберите"> </div> <script> $("#brand").on("keydown keyup ", function(){alert(1);}); </script> </body> </html> |
Mess4me,
что такое select2 у Вас? |
Mess4me,
плагин для jquery. Надо было сразу сказать это. http://select2.github.io |
Попробуйте использовать live вместо on.
Или вариант on с тремя параметрами, помните? .on('change', 'selecter', function) |
dyhmzall,
с тремя не работает, а вот про live что-то не вспомнил даже. Попробую. |
Ford,
"select2:select" вместо keyup и прочего Цитата:
|
рони,
этот пример работает, когда выберешь из списка элемент, но не когда набираешь в текстовом поле. Я его тоже проверял. Но в целом, я понял, что надо сделать. Если кому нужно будет в подобном же разобраться function matching(term, text) { if (text.toUpperCase().indexOf(term.toUpperCase())+1) { alert(term+" "+text+" could be eq"); return true; } else { return false; } } $.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) { $("#" + label).select2({ placeholder: "Выберите ", data: data || [], matcher: oldMatcher(matching) }) }); |
Часовой пояс GMT +3, время: 12:14. |