select中无法在onChange函数中传递刀片变量

时间:2017-04-16 09:59:38

标签: javascript laravel laravel-5.2 laravel-5.1

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

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

我试图在onchange函数中传递一个名为$ destination-> id的变量,如上所述,稍后将在java脚本中触发一个函数。但是,我无法像上面所做的那样传递这个变量。引发了很多错误。它说

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

它们都不起作用..我怎样才能解决这个问题。问候

2 个答案:

答案 0 :(得分:0)

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

尝试

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

答案 1 :(得分:0)

表单选择功能未关闭,缺失),请尝试以下代码以避免语法错误

In [105]: sup
Out[105]:
               coords supplier
0  (51.1235, -0.3453)        A
1  (52.1245, -0.3423)        B
2  (53.1235, -1.4553)        C

In [106]: stores
Out[106]:
               coords  storekey
0  (54.1235, -0.6553)         1
1  (49.1245, -1.3423)         2
2  (50.1235, -1.8553)         3