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, время: 02:32. |