重新填充表格中的复选框(laravel)

时间:2014-10-31 10:02:36

标签: javascript forms laravel checkbox repopulation

我在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),但我只是检查了所有复选框!而不是提交的复选框。

任何帮助都会非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

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

您是否尝试过Blade only语法?

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

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