JavaScript-таблица Laravel, как визуализировать данные в качестве ввода

Я пытаюсь визуализировать часть данных, которые я получаю от моего вызова ajax, в виде числового поля ввода с помощью Laravel DataTables и обработки на стороне сервера.

Я получаю данные обратно, как ожидалось, но рендеринг не происходит, и я не вижу никаких строк.

<div class="row col-md-12 table-responsive">
<table class="table table-bordered table-striped" id="no-cost-price-table">
<thead>
<tr>
<th>{{ trans('labels.backend.table.store.best_profit_margin.product') }}</th>
<th>{{ trans('labels.backend.table.store.best_profit_margin.price_excl') }}</th>
<th>{{ trans('labels.backend.table.store.best_profit_margin.cost_price') }}</th>
</tr>
</thead>
</table>
</div>
<!-- /.col -->

Это таблица, которую я пытаюсь заполнить.

$('#no-cost-price-table').DataTable({
'processing': true,
'serverSide': true,
'ajax': '{!! route('admin.ajax.dashboard.no_cost_price.get') !!}',
'responsive': true,
'paging': true,
'lengthChange': true,
'searching': false,
'ordering': false,
'info': true,
'autoWidth': false,
'language': {
'emptyTable': '{{  trans('strings.backend.stores.tables.no_products') }}',
'lengthMenu': '{{ trans('strings.backend.stores.tables.menu') }}',
'info': '{{ trans('strings.backend.stores.tables.info') }}',
},
'columns': [
{data: 'name', name: 'name'},
{data: 'price_excl', name: 'price_excl'},
{
data: 'data', name: 'cost_price_excl',
render: function (data, type, row) {
console.log(data);
return '<input class="form-control" name="updateCostPrice" type="number" step="0.01" @input="updateCostPrice($event, ' + data.id + ')" value="' + data.cost_price + '"  >';
}
},
],
});

Это скрипт, который я запускаю.

/**
* All route names are prefixed with 'admin.ajax'.
*/
Route::group(['middleware' => 'access.routeIsXhr', 'prefix' => 'ajax', 'as' => 'ajax.'], function () {

Route::get('dashboard/get/NoCostPriceTable/', 'Ajax\DashboardController@getNoCostPriceData')
->name('dashboard.no_cost_price.get');

});

Это мой маршрутный файл

public function getNoCostPriceData(Request $request)
{
$store = access()->getCurrentStore();
$website = $store->website();
$limit = $this->getLimit($store);

$data = \DB::table('store_data_products')->select('price_excl', 'cost_price_excl', 'name', 'store_data_product_id')->where([
['cost_price_excl', '=', 0],
['website_id', '=', $website->website_id],
])->when($limit, function ($query) {
return $query->limit(100);
})->get();

$data = json_decode(json_encode($data), true);
if (! empty($data)) {
for ($i = 0; $i < count($data); $i++) {
$data[$i]['price_excl'] = Number::money($data[$i]['price_excl']);
$data[$i]['data'] = ['id' => $data[$i]['store_data_product_id'], 'cost_price' => $data[$i]['cost_price_excl']];
}
}

return Datatables::of($data)->make(true);
}

И это функция, вызываемая вызовом ajax.

Я получаю строки от моего вызова ajax, но таблица все еще пуста.

Я надеюсь, что кто-то сможет указать на любые ошибки, которые я мог сделать, и исправить это.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector