Проверка возраста "от и до" в выпадающем списке

Рейтинг: 0Ответов: 2Опубликовано: 17.03.2015

Добрый день.

Есть два выпадающих списка с цифрами от 18 до 90 - "возраст от" и "возраст до" для фильтра.

Как сделать, чтоб запретить выбирать "возраст от" больше "возраста до" и, наоборот, "возраст до" не должен быть меньше "возраста от".

Как скрывать ненужные цифры?

Спасибо.

Ответы

▲ 1

Я бы присвоил им каждому ID, если это возможно, навесился на обработчик change для обоих конролов и, проверяя их значения, блокировал бы другие option.

http://jsfiddle.net/mmL5m2me/

▲ 1

Если на скорую руку, то я бы сделал как-то так:

var ageRange = $('.age_range');
ageRange.on('change', function(){
    var $that = $(this),
        id = this.id,
        $other = ageRange.not($that),
        method = (id == 'from' ? 'prevAll' : 'nextAll'),
        indx = $that.prop('selectedIndex');
    $('option', $other).prop('disabled', false);
    $('option:eq(' + (indx + (id == 'from' ? 1 : -1)) + ')', $other)
    .prop('selected', true)
    [method]()
    .prop('disabled', true);
});