簡體   English   中英

按數據庫表中的值排序,而不是按字母順序排序

[英]Sort by a value from a database table instead of alphabetically

在我的一種表單中,我沉迷於可選選項,並且按字母順序對其進行了排序(下面的代碼)。 我想更改它,以按照從同一數據庫分配給它的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");

我通過從數據庫中將值設置為{{$ 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);

您可以使用

list.sort((a, b) => (a.level > b.level) ? 1 : -1)

這將根據級別對數組進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM