2015-03-22 6 views
0

Привет Я запускаю функцию jQuery для отправки некоторых данных в запрос ajax. У меня есть оператор if, чтобы получить активные элементы в выпадающем списке, чтобы передать выбор в запрос ajax. Как так:jquery onclick if ... else if ... else не работает правильно

$('#filters #region_dd ul.dropdown li a').click(function (e) { 
    $('#filters #region_dd ul.dropdown li a').removeClass('active'); 
    $('#centre_dd > .active').text("Select a Centre").toggleClass('active'); 
    $('#centre_dd > ul.dropdown li a.active').toggleClass('active'); 

    console.info('Selected Region: "' + $(this).attr('href') + '"'); 

    if ($('.date-selection li a.active')) { 
     date = $('.date-selection > li a.active').attr('href'); 
    } else if($('#year_dd .dropdown.year-selection > li > a.active')) { 
     date = $('#year_dd .dropdown.year-selection > li > a.active').attr('href'); 
    } else { 
     date = null; 
    } 
    var region = $(this).attr('href'); 
    filterData.update('/overview', region, null, date); 
    }); 

Однако еще если условие никогда не пойманы, даже если что .year-selection > li > a.active верно, если .date-selection > li > a.active активна, то это прошло через. Любые идеи, что я делаю неправильно с моим другом, если?

+0

может быть потому, что вы вызываете '.removeClass («активный»);' до 'if' условия –

+0

не на .date отбора или .year отбора, хотя @ArunPJohny – 001221

+0

@ArunPJohny первым, если не проваливается, но else if делает – 001221

ответ

3

Одна проблема, которую я вижу, заключается в том, что вы передаете объект jQuery в условие if, которое всегда правдиво, поэтому независимо от того, есть ли элемент, соответствующий критериям .date-selection li a.active, блок if будет выполнен.

if ($('.date-selection li a').hasClass('active')) { 
    date = $('.date-selection > li a').attr('href'); 
} else if ($('#year_dd .dropdown.year-selection > li > a').hasClass('active')) { 
    date = $('#year_dd .dropdown.year-selection > li > a.active').attr('href'); 
} else { 
    date = null; 
} 
+0

Сладкий, который сработал трюк! – 001221