在我的一种表单中,我沉迷于可选选项,并且按字母顺序对其进行了排序(下面的代码)。我想更改它,以按照从同一数据库分配给它的level
的值对其进行排序。
是否有类似.valueOf(level)
的功能?
var options = $("#practitioner_competence_level_id_create option");
options.detach().sort(function(a,b) {
var at = $(a).text();
var bt = $(b).text();
return (at > bt)?1:((at < bt)?-1:0);
});
options.appendTo("#practitioner_competence_level_id_create");
答案 0 :(得分:0)
我通过将数据库中的值设置为{{$ level-> level}},然后按级别值创建排序脚本来解决了问题。
<select name="practitioner_competence_level_id_create"
id="practitioner_competence_level_id_create"
class="form-control">
@foreach($competence_levels as $level)
<option value="{{$level->level}}">{{$level->name}}</option>
@endforeach
</select>
排序脚本:
var selectList = $('#practitioner_competence_level_id_create option');
selectList.sort(function(a,b){
a = a.value;
b = b.value;
return a-b;
});
$('#practitioner_competence_level_id_create').html(selectList);
答案 1 :(得分:-3)
您可以使用
按级别对它们进行排序list.sort((a, b) => (a.level > b.level) ? 1 : -1)
这将根据级别对数组进行排序。