Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

181
Vistas
la entrada del formulario se borra cuando selecciono una opción

Estoy usando Laravel/livewire. Quiero obtener la latitud y la longitud del mapa de Google y mostrar el valor en las entradas:

 <input id="latBranch" wire:model="lat" val=""> <input id="longBranch" wire:model="long" val="">

Usando los siguientes códigos de Google y funciona bien cuando se carga la página:

 ... infoWindow.setPosition(pos); document.getElementById("latBranch").value = position.coords.latitude; document.getElementById("longBranch").value = position.coords.longitude; ... google.maps.event.addListener(marker, 'dragend', function (event) { document.getElementById("latBranch").value = event.latLng.lat(); document.getElementById("longBranch").value = event.latLng.lng(); infoWindow.open(map, marker); }); ...

Pero el problema es que cuando selecciono una opción desde abajo, las entradas de longitud y latitud se vacían:

 <select required wire:model="branchCountry"> @foreach ($countries as $row) <option value="{{$row->id}}">{{ $row->countryname }}</option> @endforeach </select>

La opción de selección anterior obtiene el Id del país y lo pasa al controlador Livewire para cargar las provincias de la siguiente manera:

 public function updatedbranchCountry() { if($this->branchCountry != '') { $this->provinces = Province::orderby('provincename', 'asc')->where('country_id', $this->branchCountry)->get(); } }

Mi pregunta es cómo puedo mantener la longitud y la latitud en las entradas cuando selecciono o cambio la opción del elemento seleccionado.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Para resolver este problema, agregué la longitud y la latitud en una emisión de cable en vivo como se muestra a continuación:

 Livewire.emit('getLatitudeForInput', event.latLng.lat()); Livewire.emit('getLongitudeForInput', event.latLng.lng());

y luego en el controlador Livewire usé el oyente para obtener el valor de la siguiente manera:

 protected $listeners = ['getLatitudeForInput','getLongitudeForInput']; public function getLatitudeForInput($value) { if(!is_null($value)) $this->lat = $value; } public function getLongitudeForInput($value) { if(!is_null($value)) $this->long = $value; }

Luego usé esos valores.

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda