JSFiddle - React, Tailwind, and code Playground

JavaScript

$.fn.filterSearch = function(){
    var $datatable = $(this);

    var search = $("#engine-search").val();
    var course_list = $("#filter-course").val();
    var group_list = $("#filter-group-course").val();
    var rowlist = [];

    if(course_list != null || group_list != null){
        $datatable.find("tbody tr").each(function(index, element){
            var coursegroup = $(element).attr("data-coursegroup").split(",");
            var courselist = $(element).attr("data-courselist").split(",");
            var add = '';
            $.each(coursegroup, function(key, value){
               if(in_array(value, group_list) && add != 'ok'){
                   add = 'ok';
               }
            });
            $.each(courselist, function(key, value){
                if(in_array(value, course_list) && add != 'ok'){
                    add = 'ok';
                }
            });

            if(add == 'ok'){ rowlist.push($(element));}
        });
    }

    $datatable.DataTable()
        .rows(rowlist)
        .search(search)
        .draw();
}