如何将JS变量传递给模态路由

时间:2016-10-05 06:07:47

标签: javascript laravel bootstrap-modal

我试图从模态更新数据,以便我想要传递ID到我的表单路由我该怎么办

$("body").on("click",".edit-item",function(){
        var id = $(this).parent("td").data('id');
        console.log(id);
        var description = $(this).parent("td").prev("td").prev("td").text();
        var log_time = $(this).parent("td").prev("td").text();
        var url  = '{{url('calls/'.$call->id.'/sub_calls/'.$subCall->id.'logs')}}}'
        $("#edit-item").find("input[name='description']").val(description);
        $("#edit-item").find("textarea[name='log_time']").val(log_time);
        $("#edit-item").find("form").attr("action",url + '/' + id);
    });

我希望将 var id 传递给 $ subcall-> id

旁边的模态路线
{!! Form::model(['route' => ['calls.sub_calls.logs.update',$call->id,$subCall->id],'class'=>'form-horizontal','role'=>'form']) !!}

我的路线

Route::model('logs','App\Models\SubCalls\SubPortLog');
Route::resource('calls.sub_calls.logs','SubPortLogController');

1 个答案:

答案 0 :(得分:0)

你需要在路由文件中传递它(它是你定义的路由),如下所示:

Route::post('calls/sub_calls/logs/{id}/update/{subId?}', ['uses' => 'SomeController@upddate']);

如果您使用Route::resource方法修改了这条路线,那么您应该将此示例放在此声明的前面,如下所示:

Route::post('calls/sub_calls/logs/{id}/update/{subId?}', ['uses' => 'SomeController@upddate']);
Route::resource('calls/sub_calls/logs','SubPortLogController');

然后在你的控制器中metyhod这样做:

public function update($id, $subId = null)

<强>更新

试试这个:

使用短代码定义表单作为secound参数,即:subId

{!! Form::model(['route' => ['calls.sub_calls.logs.update',$call->id, ':subCallId'],'class'=>'form-horizontal','role'=>'form']) !!}

然后只需将其替换为您想要的值:

$("body").on("click",".edit-item",function() {
    var id = $(this).parent("td").data('id'),
        action = $('form').prop('action').replace();

    $('form').prop('action', action);
    (...)
}