Странный код, откровенно говоря.
инициализация при загрузке страницы вот такая лучше:
$(document).ready(function(){
$(document).on('click', '.select_list_current', function(){
// alert(1);
$(this).parent('.select_list_wrapper').toggleClass('open');
$(this).parent().find('.select_list').slideDown("slow");
});
$('.select_list_radio').on('click', function(){
var current = $(this).find('label span').text();
$(this).parents('.select_list_wrapper').find('.select_list_current .select_list_current_item').text(current);
$(this).parents('.select_list_wrapper').removeClass('open');
$(this).parents('.select_list_wrapper').find('.select_list').css('display', 'block');
});
});
что делает ваш код
$(document).on('click',function (event) {
if ($(event.target).closest('.select_list_wrapper').length == 0 && $(event.target).attr('id') != 'select_list_current') {
$('.select_list_wrapper.open').toggleClass('open');
$(this).parent().find('.select_list').hide("slow");
}
});
за гранью моего понимание. А вы сами понимаете? В какой момент должен он вызываться?
остальные ваши setTimeout и click(); совершенно не нужны, имхо..
А вообще, попробуйте словами сначала написать что должен делать яваскрипт код. Станет проще и вам и местным :)