Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2016, 13:12
Новичок на форуме
Отправить личное сообщение для bhairava Посмотреть профиль Найти все сообщения от bhairava
 
Регистрация: 13.03.2016
Сообщений: 2

Не срабатывает автокоплит при генерации поля средствами JS
Приветствую всех!

Помогите, пожалуйста, разобраться, почему не срабатывает автокомплит подстановки адресов, если поле генерируется на js.

Есть форма с <input name"adres[0]" value"" />

И ссылка <a onclick="copyAddress();">Добавить адрес</a> добавляющая такое же поле, и если добавить поле нажав на эту ссылку, то не срабатывает для добавленного поля автокоплит, но если в html разметить тег поля без генерации на js <input name"adres[1]" value"" />, то во всех полях всё нормально отрабатывает.

Причём индексы в названиях полей генерируются правильные.

С чем может быть это связано?


Весь код html:

<html>
<head>
<title>Автокоплит</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/smoothness/jquery-ui.css" />
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.1/jquery-ui.min.js"></script>
<script src="autocomplete.js"></script>
</head>
<body>

<div class=adres>

<div class=row_adres>
Адрес: <input id=0 name="adress[0]" type="text" value="" />
</div>

</div>

<br />
<br />
<a onclick="copyAddress();">Добавить адрес</a>

</body>
</html>



Код autocomplete.js:

var search_result = [];


$(document).ready(function()
{
	
$('.adres').each(function(i, el)
{
	var adress			= $(el).find('[name^=adress]');
	
    adress.keyup(function(){

        var search_query = $(this).val();
		
        search_result = [];
        $.getJSON('http://geocode-maps.yandex.ru/1.x/?format=json&callback=?&geocode='+search_query, function(data) 
		{			
			
            for(var i = 0; i < data.response.GeoObjectCollection.featureMember.length; i++) 
			{				
                search_result.push
				({
                label: data.response.GeoObjectCollection.featureMember[i].GeoObject.description+' - '+data.response.GeoObjectCollection.featureMember[i].GeoObject.name,
                value: data.response.GeoObjectCollection.featureMember[i].GeoObject.name.replace('undefined', ''),
                longlat:data.response.GeoObjectCollection.featureMember[i].GeoObject.Point.pos
				});
            }
			
            //подключаем к текстовому полю виджет autocomplete
            adress.autocomplete({
                source: search_result,
                select: function(event, ui){}
            });
        });
    });

    $.ui.autocomplete.filter = function (array, term) {
        return $.grep(array, function (value) {
			
            return value.label || value.value || value;
        });
    };
	
});	
	

});


//копирования поля для дополнительного адреса
window.copyAddress = function() 
{
	var $firstAddress	= $('.row_adres:first');
	var $lastAddress	= $('.row_adres:last');
	var $clone		= $firstAddress.clone();
	var $remove	= $('<div class=""/>');

	$clone.find('div').prepend($remove);		
	$clone.find('input').val('');
	$lastAddress.after($clone);
		
	setTimeout(function() 
	{
		updateAddressIndex();
	}, 0);
};

//обновление индексов
function updateAddressIndex() 
{
	$('.row_adres').each(function(i, el) 
	{
		var $this = $(el);
		$this.find('[name^=adress]').attr('name',	'adress[' + i + ']');
	});
}

Последний раз редактировалось bhairava, 13.03.2016 в 13:22.
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2016, 00:01
Новичок на форуме
Отправить личное сообщение для bhairava Посмотреть профиль Найти все сообщения от bhairava
 
Регистрация: 13.03.2016
Сообщений: 2

Не актуально уже, разобрался сам.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка удаленного скрипта средствами JS seowin Общие вопросы Javascript 1 02.03.2015 10:12
При клике на кнопу добавлять поля с нужным id, class dima_riabets Элементы интерфейса 5 06.01.2015 18:20
Клик по кнопке срабатывает со второго раза при первом действиии darmoid Общие вопросы Javascript 1 22.10.2014 16:45
Не отправялется форма средствами JS kapman Javascript под браузер 6 13.05.2012 18:00
Как отразить картинку при помощи JS. 2dkott Элементы интерфейса 4 03.09.2009 22:51