Rework how selects get updated

It is easier to remove and reapply the formatting, but classes that were
changed on the div and span were then lost.  Updating code to consistently
get the width of the select and then go grab the width again in case the
values in the select list changed.