когда данные добавляются из выпадающего списка, данные больше не должны быть в выпадающем списке - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь показать только те страны, которые указаны в раскрывающемся списке, которых нет в базе данных, например, если я добавляю «Бутылки» в базу данных, значение «Бутылки» больше не должно быть в раскрывающемся списке.

form.indx

<div class="form-group" id="frm_packages">
<select class="form-control" id="packages" name="packages"title="packages">

         <option value="Pack">Pack</option>
         <option value="Bottles">Bottles</option>
         <option value="Cartons">Cart</option>
         <option value="Boxes">Boxes</option>
         <option value="Cans">Cans</option>
         <option value="Bags">packages</option>
</select>
<div class="d-inline"></div>
</div>

// скрипты показывают данные

var table = $('#packageTable').DataTable({
    dom: 'Bfrtip',
    aaSorting: [[2, 'asc']],
    stateSave: true,
    processing: true,
    serverSide : false,
    bSortable: true,
    responsive : true,
    autoWidth : false,
    order: [[0, 'desc']],
    buttons: [
        'create', 'print', 'reload'
    ],

    ajax: '{{route('admin.packages.index')}}',
    columns: [
        {data: 'id', name: 'id'},
        {data: 'name', name: 'name'},

    ],
});

// Добавление новых данных

$(document).on('click','#btnSave', function(e){
    e.preventDefault();
    $.ajax({
        url: "{{ route('admin.packages.store') }}",
        type: 'POST',
        dataType: 'json',
        data: {
            name: $('#packages').val(),

        },
        success:function(data){
            if (data.status == true) {
                $('#new').modal('hide');
                frm.trigger('reset');
                table.ajax.reload( null, false );
                Toast.fire({
                  type: 'success',
                  title: 'added successful'
                })
            }
        },

    });
});

// Контроллер

public function index(PackageDataTable $dataTable)
{
    return $dataTable->render('admin.packages.index');
}


public function store(Request $request)
{
     request()->validate(['name'=>['required','unique:packages'],]);
     Package::create(request()->all());
     return response()->json(array("status"=>true));
}

// модель

protected $fillable = ['name'];    

public function products()
{
    return $this->belongsToMany(Product::class)
}

что мне делать, чтобы не показывать существующие данные в выпадающем списке

1 Ответ

0 голосов
/ 07 апреля 2020

Изначально вы должны получить все свои данные, а затем вы должны назначить их переменным js одну за другой, потому что javascript - это язык, который будет работать для вас на стороне клиента на вашей странице. И, наконец, для выпадающего списка, применив условия if{}, else{}, вы можете получить желаемые результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...