Доброго времени суток. Вопрос такой. Необходимо чтобы в форме было поле где указывается есть ли дети, а если да, то сколько их и их возраст. Реализовал это так:
$(document).ready(function() {
var count = 6, i, j, el, child;
var container = $('#child-amount');
el = $(document.createElement('select')).attr('class', 'child__amount-item');
container.append(el);
for (i = 0; i < count; ++i) {
child = $(document.createElement('option'));
child.attr('value', i + 1);
child.text(i);
el.append(child);
}
el.change(function() {
count = parseInt($(this).find(':selected').text());
for (i = 0; i < count; ++i) {
el = $(document.createElement('select')).attr('class', 'child__old').attr('id', 'child__old_' + i);
container.append(el);
for (j = 0; j < 18; ++j) {
child = $(document.createElement('option')).attr('id', 'child__old-item' + j);
child.attr('value', j);
child.text(j);
el.append(child);
}
}
});
});
Но понимаю, что это не совсем корректно реализовано, так как если выбрать сначала что детей скажем 2, то добавляется 2 selecta, но если тут же изменить количество детей на 1, то будет 3 selecta, то есть они просто приплюсуют. Кто подскажет как избежать этого? И еще необходимо, чтобы если количество детей больше 0, то к select с классом child__amount-item к классу добавлялась приставка, скажем _have - нужно для стилизации.