无法在 select 的 onChange 函数中传递 blade 变量

Cannot pass blade variable in onChange function in select

我有一个 select 选项,如下所示。

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

我正在尝试像上面那样在 onchange 函数中传递一个名为 $destination->id 的变量,它将稍后在 java-script 中触发一个函数。但是,我无法像上面那样传递这个变量。抛出很多错误。它说

Uncaught SyntaxError: Unexpected token >

在检查控制台中。

我试过:

 '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))'

None 其中有效..我该如何解决这个问题。此致

由于单引号,您的代码将 destination->id 视为文字。您实际上是将值 destination->id 作为参数传递给函数,而 destination->id 是不合法的 javascript.它将其读取为 destination 减去大于 id,这是没有意义的。

尝试

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

Form select 函数未关闭,缺少 ) ,请尝试以下代码以避免语法错误

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