Allow user to reselect already selected option

by mark serbol

HTML

<select>
    <option value="red">RED</option>
    <option value="blue">BLUE</option>
    <option value="green">GREEN</option>
</select>

JavaScript

$('select').click(function(){
    var $this = $(this);
    
    if ($this.hasClass('open')) {
        alert($this.val());
        $this.removeClass('open');
    }else {
        $this.addClass('open');
    }  
})

$(document).click(function(e){
    var $select = $('select');

    if (!$select.is(e.target)){
        $select.removeClass('open');
    }
});