Anonymous
Как поместить-зону селекции-как значение по умолчанию на раскрывающемся входе
Сообщение
Anonymous » 14 июн 2025, 17:22
Работа с Backend Laravel 10, и я имею следующее раскрытие для названия Select Zone, а существующая система показывает некоторое имя зоны из таблицы. но мне нужно показать-зона селекта-как значение по умолчанию раскрывающегося списка при загрузке страницы.
zone.blade.php
Код: Выделить всё
@if(count($zones)>0)
@foreach($zones as $key =>$zone)
id ? "selected" :""}} data-show-shield="{{ in_array($zone->id, $safetyAlertZones) ? 'true' : '' }}">{{$zone->name}}
@endforeach
@else
{{translate("zone_not_found")}}
@endif
$('#selectZone').on('change', function () {
$('#zoneSubmitForm').submit();
});
< /code>
zonemanagecontroller < /p>
public function fleetMap(?Request $request, $type = null)
{
$zones = $this->zoneService->getBy(relations: ['tripRequest.safetyAlerts']);
$safetyAlertZones = $zones->filter(function ($zone) {
return $zone->tripRequest->contains(function ($tripRequest) {
return $tripRequest->safetyAlerts->where('status', PENDING)->isNotEmpty();
});
})->pluck('id')->toArray();
$safetyAlertCount = $this->safetyAlertService->getBy(criteria: ['status' => PENDING])->count();
if (array_key_exists('zone_id', $request->all()) && $request['zone_id']) {
$zone = $this->zoneService->findOne(id: $request['zone_id']);
} else {
$zone = count($zones) ? $this->zoneService->findOne(id: $zones[0]->id) : null;
}
$safetyAlertLatestUserRoute = $safetyAlertCount > 0 ? $this->safetyAlertService->safetyAlertLatestUserRoute() : 'javascript:void(0)';
$safetyAlert = $this->safetyAlertService->findOneBy(criteria: ['status' => PENDING], relations: ['sentBy'], orderBy: ['created_at' => 'desc']);
$safetyAlertUserId = $safetyAlert?->sentBy?->id ?? null;
// Calculate center lat/lng
$latSum = 0;
$lngSum = 0;
$totalPoints = 0;
$polygons = $zone ? json_encode([formatCoordinates(json_decode($zone?->coordinates[0]->toJson(), true)['coordinates'])]) : json_encode([[]]);
if ($zone) {
foreach (formatCoordinates(json_decode($zone?->coordinates[0]->toJson(), true)['coordinates']) as $point) {
$latSum += $point->lat;
$lngSum += $point->lng;
$totalPoints++;
}
}
$centerLat = $latSum / ($totalPoints == 0 ? 1 : $totalPoints);
$centerLng = $lngSum / ($totalPoints == 0 ? 1 : $totalPoints);
if ($zone) {
$data = $this->fleetCommon($type, $zone, $request->all());
$drivers = $data['drivers'] ?? [];
$customers = $data['customers'] ?? [];
$markers = $data['markers'];
return view('adminmodule::fleet-map', compact('drivers', 'customers', 'zones', 'safetyAlertZones', 'safetyAlertCount', 'safetyAlertLatestUserRoute', 'safetyAlertUserId', 'type', 'markers', 'polygons', 'centerLat', 'centerLng'));
}
$drivers = [];
$customers = [];
$markers = json_encode([[]]);
return view('adminmodule::fleet-map', compact('drivers', 'customers', 'zones', 'safetyAlertZones', 'safetyAlertCount', 'safetyAlertLatestUserRoute', 'safetyAlertUserId', 'type', 'markers', 'polygons', 'centerLat', 'centerLng'));
}
Как я могу выбрать в качестве значения по умолчанию-зона выбора-когда файл лезвия загружает имя зоны?
Подробнее здесь:
https://stackoverflow.com/questions/796 ... down-input
1749910941
Anonymous
Работа с Backend Laravel 10, и я имею следующее раскрытие для названия Select Zone, а существующая система показывает некоторое имя зоны из таблицы. но мне нужно показать-зона селекта-как значение по умолчанию раскрывающегося списка при загрузке страницы. zone.blade.php [code] @if(count($zones)>0) @foreach($zones as $key =>$zone) id ? "selected" :""}} data-show-shield="{{ in_array($zone->id, $safetyAlertZones) ? 'true' : '' }}">{{$zone->name}} @endforeach @else {{translate("zone_not_found")}} @endif $('#selectZone').on('change', function () { $('#zoneSubmitForm').submit(); }); < /code> zonemanagecontroller < /p> public function fleetMap(?Request $request, $type = null) { $zones = $this->zoneService->getBy(relations: ['tripRequest.safetyAlerts']); $safetyAlertZones = $zones->filter(function ($zone) { return $zone->tripRequest->contains(function ($tripRequest) { return $tripRequest->safetyAlerts->where('status', PENDING)->isNotEmpty(); }); })->pluck('id')->toArray(); $safetyAlertCount = $this->safetyAlertService->getBy(criteria: ['status' => PENDING])->count(); if (array_key_exists('zone_id', $request->all()) && $request['zone_id']) { $zone = $this->zoneService->findOne(id: $request['zone_id']); } else { $zone = count($zones) ? $this->zoneService->findOne(id: $zones[0]->id) : null; } $safetyAlertLatestUserRoute = $safetyAlertCount > 0 ? $this->safetyAlertService->safetyAlertLatestUserRoute() : 'javascript:void(0)'; $safetyAlert = $this->safetyAlertService->findOneBy(criteria: ['status' => PENDING], relations: ['sentBy'], orderBy: ['created_at' => 'desc']); $safetyAlertUserId = $safetyAlert?->sentBy?->id ?? null; // Calculate center lat/lng $latSum = 0; $lngSum = 0; $totalPoints = 0; $polygons = $zone ? json_encode([formatCoordinates(json_decode($zone?->coordinates[0]->toJson(), true)['coordinates'])]) : json_encode([[]]); if ($zone) { foreach (formatCoordinates(json_decode($zone?->coordinates[0]->toJson(), true)['coordinates']) as $point) { $latSum += $point->lat; $lngSum += $point->lng; $totalPoints++; } } $centerLat = $latSum / ($totalPoints == 0 ? 1 : $totalPoints); $centerLng = $lngSum / ($totalPoints == 0 ? 1 : $totalPoints); if ($zone) { $data = $this->fleetCommon($type, $zone, $request->all()); $drivers = $data['drivers'] ?? []; $customers = $data['customers'] ?? []; $markers = $data['markers']; return view('adminmodule::fleet-map', compact('drivers', 'customers', 'zones', 'safetyAlertZones', 'safetyAlertCount', 'safetyAlertLatestUserRoute', 'safetyAlertUserId', 'type', 'markers', 'polygons', 'centerLat', 'centerLng')); } $drivers = []; $customers = []; $markers = json_encode([[]]); return view('adminmodule::fleet-map', compact('drivers', 'customers', 'zones', 'safetyAlertZones', 'safetyAlertCount', 'safetyAlertLatestUserRoute', 'safetyAlertUserId', 'type', 'markers', 'polygons', 'centerLat', 'centerLng')); } [/code] Как я могу выбрать в качестве значения по умолчанию-зона выбора-когда файл лезвия загружает имя зоны? Подробнее здесь: [url]https://stackoverflow.com/questions/79665573/how-to-put-select-zone-as-default-value-on-the-dropdown-input[/url]