Как сортировать поля в списке <select>, но игнорировать один параметр
У меня есть следующий скрипт, который сортирует значения списка в алфавитном порядке, потому что этот список меняется в зависимости от языка сайта.
<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>
Как видите, после прохождения скрипта, это вывод:
<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>
Проблема в том, что первое значение, которое должно быть первым, сортируется так, чтобы оно оказалось в середине списка и выглядело неловко.
Я хотел бы изменить javascript, чтобы исключить первое значение параметра из сортировки, но оставить его сверху. Одна вещь, которую нужно учесть, это то, что это сначала имеет значение «», и это должно быть так, потому что у меня есть еще один маленький скрипт, который заставляет пользователя выбирать что-то еще для обработки формы.
Заранее большое спасибо!