Redimensionamento automático do elemento SELECT de acordo com a largura da OPÇÃO selecionada

Eu tenho issoselect elemento com diferenteoption nisso. Normalmente oselect elemento teria sua largura do maioroption elemento, mas eu quero oselect elemento para ter o padrãooption largura do valor que é menor. Quando o usuário seleciona outrooption, aselect elemento deve redimensionar-se para que todo o texto esteja sempre visível no elemento.

$(document).ready(function() {
    $('select').change(function(){
        $(this).width($('select option:selected').width());
    });
});

Problema:

No Chrome (Canary), sempre recebe uma largura retornada de 0.No Firefox, a largura obtida é adicionada e não redimensionada quando selecionada uma opção mais curta.Safari: o mesmo resultado que o Chrome.

Demo @ JSFiddle

questionAnswers(6)

yourAnswerToTheQuestion