Duvida com Select option PHP laravel

26/10/2018

60

Bom dia!
Estou com um problema com relacão ao select.
Tenho dos selects, ambos utilizo valores que vem do banco, porem o segundo tem que mostrar apenas opcoes de acordo com o primeiro!
Segue a forma que fo tazendo

<form >
<div class="form-group">
<label>Cliente</label>
<select name="cliente" id="cliente" class="form-control">
@foreach( $clientes as $c )
<option value="{{ $c->name }}" ><p> {{ $c->name }} </p></option>
@endforeach
</select>
</div>

<div class="form-group">
<label>Ativos</label>
<select multiple class="form-control">
@foreach( $ativos as $a )
<option>{{ $a->name }} </option>
@endforeach
</select>
</div>

no caso eu queria que nessa segundo option, motrassem quando o a->cnpj == $c->cnpj
porem nao sei como fazer, se alguem poder ajudar, agradeço
Marcelo

Marcelo

Responder

Post mais votado

26/10/2018

Fala Marcelo, tudo bem?

Se eu entendi bem a sua dúvida, nesse seria interessante você ter um JavaScript para lhe auxiliar nesta página, de forma que ao selecionar um item do seu primeiro Select, ele faça uma requisição e busque os dados para preencher o segundo Select, sacou? algo do tipo:


function preencherSelect(data)
{
	fetch(url, {
		method: 'POST', 
		body: JSON.stringify(data), 
		headers:{
			'Content-Type': 'application/json'
		},
		mode: "same-origin",
	}).then(res => res.json())
	.then(response => {
		var obj = JSON.stringify(response)  
		var obj = JSON.parse(obj);

		for (var i = 0; i < obj.length; i++) {
			//adiciona os Options no novo select.
		} 
	}).catch(error => console.error('Error:', error));
}



Em seguida adicionamos no primeiro select um atributo "onChange" e acionamos a função criada! Por este caminho eu acho melhor!

Grande abraço.

Pablo Carvalho

Pablo Carvalho
Responder

Mais Posts

27/10/2018

Marcelo

Ola!
Tudo bem?

Agradeço pela ajuda, porem nao consegui fazer! :c
Obrigado pelo seu tempo !
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar