Проблема с выводом
Добрый день.
Пытаюсь при вызове события oninput вывести в блок output определенные данные. Alert работает нормально, то есть событие само вызывается. И отдельно вывод в этот блок тоже работает. А вот при вызове события данные не заносятся. Вот код:
<div class="live_search">
<p>Номер 1</p>
<input type="text" autocomplete="off">
<div class="output"></div>
</div>
<br>
<div class="live_search">
<p>Номер 2</p>
<input type="text" autocomplete="off">
<div class="output"></div>
</div>
$(document).ready(function(){
var live_search = $('.live_search');
for(var element in live_search){
$(element).find('input').on('input',function(){
$(element).find('.output').text('Что то ввели в поле ввода.');
alert('Произошло событие oninput.');
});
$(element).find('.output').text('Проверка вывода в блок #output.');
}
});
|
Khalilbeg,
:cray: учите доку- пока не выучили неиспользуйте for в jquery - а лучше воспользуйтесь each;
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function ()
{
var live_search = $('.live_search');
live_search.each(function(indx, element){
$('input', element).on('input',function(){
$('.output', element).text('Что то ввели в поле ввода.');
alert('Произошло событие oninput.');
});
$('.output', element).text('Проверка вывода в блок #output.')
});
})
</script>
</head>
<body>
<div class="live_search">
<p>Номер 1</p>
<input type="text" autocomplete="off">
<div class="output"></div>
</div>
<br>
<div class="live_search">
<p>Номер 2</p>
<input type="text" autocomplete="off">
<div class="output"></div>
</div>
</body>
</html>
|
Спасибо большое :) . Не думал что jquery своеобразно реализовывает for.
|
Цитата:
чему будет равен var element когда закончится цикл for по теме помедитируйте тут http://javascript.ru/basic/closure#p...-ispolzovaniya each как раз позволяет незадумываться о сохранении контекста |
Спасибо еще раз. Но в обычном (не веб) программировании подобной проблемы нет, поэтому об этом даже не задумывался.
|
| Часовой пояс GMT +3, время: 14:53. |