/ / Impossibile passare alla variabile blade nella funzione onChange in select - javascript, laravel, laravel-5.2, laravel-5.1

Impossibile passare alla variabile blade nella funzione onChange in select - javascript, laravel, laravel-5.2, laravel-5.1

Ho un'opzione di selezione come sotto.

 @foreach($destinations as $destination)
{!! Form::select("destination", $counts, $destination->ordering, array("onchange"=>"fetch_select(this.value,$destination->id)") !!}
@endforeach

Sto cercando di passare una variabile chiamata$ destination-> id nella funzione onchange come sopra, che in seguito attiva una funzione in java-script. Tuttavia, non sono in grado di passare questa variabile come ho fatto sopra. Genera molti errori Dice

Uncaught SyntaxError: Unexpected token >

nella console di ispezione.

Ho provato con:

 "onchange"=>"fetch_select(this.value,destination->id)"
"onchange"=>"fetch_select(this.value,"$destination->id")"
"onchange"=>"fetch_select(this.value,(destination->id))"
"onchange"=>"fetch_select(this.value,($destination->id))"

Nessuno di loro funziona .. Come posso aggirare questo. Con Cordiali saluti

risposte:

0 per risposta № 1

Il tuo codice sta trattando destinazione-> id come un letterale a causa delle citazioni singole. In realtà stai ottenendo il valore destinazione-> id passato come parametro alla funzione, e destinazione-> id non è javascript legale. Lo sta leggendo come destinazione meno maggiore di id, il che non ha senso

Provare

"fetch_select(this.value," . $destination->id . ")"

0 per risposta № 2

La funzione di selezione modulo non è chiusa, mancante), prova di seguito il codice per evitare errori di sintassi

{!! Form::select("destination", $counts, $destination->ordering, array("onchange"=>"fetch_select(this.value,$destination->id)")) !!}