@Deep-webb
Познаю все новое

Обработка select в форме через js?

Доброго времени суток. Вопрос такой. Необходимо чтобы в форме было поле где указывается есть ли дети, а если да, то сколько их и их возраст. Реализовал это так:
$(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 - нужно для стилизации.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
slo_nik
@slo_nik
Добрый вечер.
Попробуйте начать с этого варианта.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы