Jak sortować pola na liście <select>, ale ignorować jedną opcję

Mam następujący skrypt sortujący wartości listy alfabetycznie, ponieważ ta lista zmienia się w zależności od języka witryny.

<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 &amp; 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>

Jak widać, po przejściu przez skrypt jest to wyjście:

<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 &amp; Central America (CONCACAF)</option>
    <option value="46617">Oceania (OFC)</option>
    <option value="38731">South America (CONMEBOL)</option>
</select>

Problem polega na tym, że pierwsza wartość, która powinna być pierwszą, również zostanie posortowana, tak aby znalazła się na środku listy i wygląda niezręcznie.

Chciałbym zmodyfikować javascript, aby wykluczyć wartość pierwszej opcji z sortowania, ale zachować ją na górze. Jedną rzeczą do rozważenia jest to, że ma ona najpierw wartość „” i powinno tak być, ponieważ mam inny mały skrypt, który zmusza użytkownika do wyboru czegokolwiek innego w celu przetworzenia formularza.

Z góry dziękuję!

questionAnswers(4)

yourAnswerToTheQuestion