Como classificar campos em uma lista <select>, mas ignorar uma opção
Eu tenho o seguinte script que classifica os valores de uma lista em ordem alfabética porque esta lista muda de acordo com o idioma do site.
<select style="width:250px" id="list1">
<option value="">Confederation</option> <!--I would like to keep this at the top-->
<option value="40934">Africa (CAF)</option>
<option value="44624">Asia (AFC)</option>
<option value="29521">Europe (UEFA)</option>
<option value="43099">North & Central America (CONCACAF)</option>
<option value="46617">Oceania (OFC)</option>
<option value="38731">South America (CONMEBOL)</option>
</select>
<script>
$("#list1").html($("#list1 option").sort(function (a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}))
</script>
Como você pode ver, depois de passar pelo script, esta é a saída:
<select style="width:250px" id="list1">
<option value="40934">Africa (CAF)</option>
<option value="44624">Asia (AFC)</option>
<option value="">Confederation</option> <!-- But it gets sorted also and it ends up in the middle -->
<option value="29521">Europe (UEFA)</option>
<option value="43099">North & Central America (CONCACAF)</option>
<option value="46617">Oceania (OFC)</option>
<option value="38731">South America (CONMEBOL)</option>
</select>
O problema é que o primeiro valor que deve ser o primeiro é classificado também, de modo que acaba no meio da lista e parece estranho.
Eu gostaria de modificar o javascript para excluir o primeiro valor da opção da classificação, mas mantê-lo no topo. Uma coisa a considerar é que este primeiro tem um valor de "" e deve ser assim porque eu tenho outro pequeno script que obriga o usuário a selecionar qualquer outra coisa, a fim de processar o formulário.
Muito obrigado antecipadamente!