В Jquery я на лету создаю блоки выбора на основе количества элементов в массиве php и пытаюсь изменить значение каждого параметра блока выбора на значение элемента массива.
Во-первых, вот HTML:
<div id="artistArea">
<div class="category_block">
<select name="artistSelect[]" class="cat_list">
<option value="">- none -</option>
</select>
</div>
</div>
Вот преобразование массива:
var arrayFromPHP = <?php echo json_encode($exhibArray) ?>; // There's our array from php->jquery
Затем я начинаю с заполнения опций в первом выборе, а затем создаю последующие поля внутри цикла «каждый» в обратном вызове «success»:
$.ajax({
url: 'artistpop.php',
success: function(data){
$('.cat_list').append(data); //Sets options for first select box
$.each(arrayFromPHP, function (i, elem) { //loop through our array values
$("#artistArea > .category_block:last .cat_list").val(elem); //set the select box value
$('#artistArea > .category_block:last').after($('#artistArea > .category_block:last').clone()); //clone the previous select box
});
}
});
Итак ... Проблема в следующем:
Начальное создание ящиков и их заполнение работают нормально, как и создание последующих ящиков. Однако, только первое поле выбора установлено с соответствующим значением из массива; остальные остаются с опцией 'none'.
Может ли это быть что-то не так в каждом цикле?
Надеюсь, это достаточно ясно, чтобы понять - я в замешательстве!