Показать сообщение отдельно
  #7 (permalink)  
Старый 08.05.2014, 14:47
Аспирант
Отправить личное сообщение для broadcast77 Посмотреть профиль Найти все сообщения от broadcast77
 
Регистрация: 25.12.2013
Сообщений: 31

Сообщение от jsnb Посмотреть сообщение
Я предлагаю сделать примитивный макет, в котором останется только часть демонстрирующая проблему. Серверная часть может состоять вообще из одной строки вида: echo "данные_в_нужном_формате". Потому что без демонстрации я так и не понял на что там у вас повешан аякс и при добавлении чего оно не работает. В приведенных кусках кода вообще какая-то неразбериха - в HTML указана одна функция, в JS приведена другая и совершенно непонятно как оно всё вместе там у вас работает. И для создания макета не нужен хостинг, достаточно HTML+JS+формат данных, которые возвращает сервер.


Так, короче я решил облегчить задачу максимально. И воспользоваться jQuery + AJAX.

Вот смотрите.

Сначала html

<select id='select_country_id'><option value=''>страна не выбрана</option></select>
<input type="button" id="add_field" value="Добавить услугу">


Далее jQuery - получаем данные из php скрипта.

$(document).ready(function() {            
            $.ajax({ 
                type: "POST",
                url: "countryListUpdate.php",             
                dataType: "html", 
                success: function(response){ 
                    //alert(response); 
                    $('#select_country_id').html(response);
                }
            });
        });


Ну и собственно код, позволяющий добавлять селекты:

var counter = 1;
 
    $("#add_field").click(function () {
 
	if(counter>10){
            alert("Достигнут лимит добавления полей!");
            return false;
	}   
 
	var newTextBoxDiv = $(document.createElement('div'))
	     .attr("id", 'CountryServiceOptionsBlock' + counter);

                newTextBoxDiv.after().html('<select id="select_country_id' + counter + '"><option value="">страна не выбрана</option></select><p>');
                                                                                                                                  
	newTextBoxDiv.appendTo("#ServiceBlockGroup");
 
	counter++;
        
     });


Вопрос - как сделать, так, чтобы страны могли подгружаться в n-ый добавленый элемент select?
Пока подгружаются только в первый.
Ответить с цитированием