Ммм ... Я думаю, что большая часть вашей проблемы - неправильное использование элемента <input>
.Входы являются самозакрывающимися тегами.Вы не можете обернуть их вокруг другого HTML.
<input type="text"><span>HTML here</span></input> <!-- WRONG! -->
<input type="text" /> <span>HTML here</span> <!-- Correct -->
ОБНОВЛЕНИЕ:
Интересно.Просто заметил, что вы возвращаете false
из события onchange.Есть ли конкретная причина для этого?По иронии судьбы, IE8 может быть единственным, который ведет себя правильно.Возвращение false
должно означать «отменить то, что было бы сделано».Например, в случае кликов по ссылкам URL не отслеживается.При отправке формы она отменит POST на сервере.IE8 может интерпретировать это как означающее: отменить изменение внешнего вида радио.