Pero tampoco en los select conserva el valor para cuando saltan los errores recordando que faltan preguntas por responder.
EDITO: Supuestamente esto es lo que haría que se quedara guardado el valor para no tener que volver a seleccionarlo en los select, pero no lo realiza.
Código PHP:
Ver originalforeach($options as $key => $val) {
// Para establecer la opción preseleccionada
$selected = ($key == $value) ? ' selected="selected"' : '';
echo "\t<option value=\"$key\"$sel>$val</option>\n";
}