Ваш целевой контент не значение , а текст .Поэтому вы должны использовать .text()
вместо .value
Если у вас есть один элемент select, используйте
$('select option').sort(function(a,b){
return $(a).text()-$(b).text();
}).appendTo("select");
$('select option').sort(function(a,b){
return $(a).text()-$(b).text();
}).appendTo("select");
$('select option:first-child').prop('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="">Selecteer</option>
<option value="">1000</option>
<option value="">43</option>
<option value="">5356</option>
<option value="">22</option>
<option value="">6</option>
</select>
Но если у вас есть несколько вариантов выбора, используйте
$('select').each(function(){
$('option', this).sort(function(a,b){
return $(a).text()-$(b).text();
}).appendTo(this);
});
$('select').each(function(){
$('option', this).sort(function(a,b){
return $(a).text()-$(b).text();
}).appendTo(this);
});
$('select option:first-child').prop('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="">Selecteer</option>
<option value="">1000</option>
<option value="">43</option>
<option value="">5356</option>
<option value="">22</option>
<option value="">6</option>
</select>
<select>
<option value="">Selecteer</option>
<option value="">1000</option>
<option value="">43</option>
<option value="">5356</option>
<option value="">22</option>
<option value="">6</option>
</select>
Обратите внимание, что если вы хотите установить первый параметр как selected
, используйте нижний код после сортировки
$('select option:first-child').prop('selected', true);