0

我正在使用 laravel 应用程序。我有一个表单,我想用 javascript 显示复选框。我从数据库中获取复选框的值。

这是我的代码:

$.ajax({
    url: '/home/show',
    type: 'GET',
    data: 'id=' + selection,
    success: function(data) {
        //Build the checkboxes and the label for the termids
        var items ='{{Form::label("Linkids","Linkids", array( "class" => " col-sm-2 control-label")) }}';
        items += '<table class="table table-borderless" style="margin-right:10%;margin-left:90%"><tr style="border: 0;text-align: center;">';
        /* The variable j plays an important role in displaying the termids in rows since a borderless table was created for them */
        var j = 1;
        $.each(data, function (i, terms) {
            if(j < 8){
                items +='<label><td style="border: 0; text-align: center;">'+
                    **'<input style = "margin-left: 26px; margin-right: 0px;" type="checkbox" name="termids[]" value="'+terms.NewTermID+'"><p style="text-align:right">'**+'<b>'+terms.NewTermID+'</p>'+
                '</td></label>';  
                j++; 
            }
            else{
                j = 1;
                items += '</tr><tr>' ;
            }                         
        });
        items += '</tr></table>';
        $('#rData').html(items);
        $('#rData').show();
    } 
});

我希望在提交表单后用提交的数据重新填充复选框。在我的控制器中,我使用了一个验证器:

if ($validator->fails()) 
{
    return Redirect::back()->withInput()
                           ->withErrors($validator)
                          ->with('message', 'There were validation errors.');
} 

我尝试使用Input::old(terms),但我只是检查了所有复选框!而不是提交的复选框。

任何帮助将非常感激。

提前致谢。

4

1 回答 1

0

如果我是正确的,您正在为您的表单使用 Blade 语法和普通 html 的组合,这很好,但我认为 Laravel 的自动完成/重新填充过程适用于 Blade 语法元素。

您是否尝试过仅使用 Blade 的语法?

{{ Form::checkbox('name', 'value', true) }}

第三个参数“true”表示是否选中复选框

于 2014-10-31T12:08:50.393 回答