@php $variant = \App\Models\Variant::find($value); $car_makes = \App\Models\Manufacturer::all(); $car_make_id = $variant?->manufacturer->id ?? $car_makes->first()->id; $car_models = \App\Models\Manufacturer::find($car_make_id)->car_models; $car_model_id = $variant?->car_model->id ?? $car_models?->first()->id; $car_variants = \App\Models\CarModel::find($car_model_id)->variants; $car_variant_id = $variant?->id ?? $car_variants->first()->id; @endphp @push('filter_scripts') var variant_ids = ''; $('#car_make_select').change(function(){ $.ajax({ url: '{{ route('admin.car_models.datatable') }}?where[]=manufacturer_id%3D' + $(this).val(), type: 'POST', dataType: 'json', success: function( response ) { var items = []; $.each( response.data.sort((m1, m2) => (m1.name > m2.name) ? 1 : (m1.name < m2.name) ? -1 : 0), function( key, item ) { items.push( '' ); }); $('#car_model_select').html( items.join( '' ) ); $('#car_model_select').change(); }}); }); $('#car_model_select').change(function(){ $.ajax({ url: '{{ route('admin.variants.datatable') }}?where[]=car_model_id%3D' + $(this).val(), type: 'POST', dataType: 'json', success: function( response ) { var items = []; var ids = []; items.push( '' ); items.push( '' ); $.each( response.data.sort((m1, m2) => (m1.name > m2.name) ? 1 : (m1.name < m2.name) ? -1 : 0), function( key, item ) { ids.push(item.id); items.push( '' ); }); variant_ids = ids.join('|'); $('#car_variant_select').html( items.join( '' ) ); $('#car_variant_select').change(); }}); }); $('#car_variant_select').change(function(){ if($(this).val() == -1) {{$table_options['id']}}.columns("{{$column_name}}:name").search( this.value ? "^(" + variant_ids + ")$" : "", true ).draw(); else {{$table_options['id']}}.columns("{{$column_name}}:name").search( this.value ? "^" + this.value + "$" : "", true ).draw(); }); $('#car_model_select').change(); @endpush