如何使用Laravel将值放入复选框?

时间:2014-04-21 19:21:59

标签: php forms session laravel

我想要完成的是这样的事情:

<?php
        if (Session::has('tk'))
        {
            $tk = Session::get('tk');
        } else {
            $tk = 1;
        }
        if (Session::has('ntk'))
        {
            $ntk = Session::get('ntk');
        } else {
            $ntk = 0;
        }
    ?>
    {{ Form::open(array('url' => 'aanvullen')) }}
        <table>
            <tr>
                <td>
                    {{ Form::submit('Toepassen') }}
                </td>
                <td>
                    {{ Form::checkbox('tijdkritisch', <?php $tk ?>, true) }} Tijdkritisch (TK) <br>
                    {{ Form::checkbox('niettijdkritisch', <?php $ntk ?>, false) }} Niet-tijdkritisch (NTK)
                <td>
            </tr>
        </table>
    {{ Form::close() }}

不知何故,在我的Form ::复选框中,这不起作用。所以我的问题是如何实现这一目标?

我也尝试了这个:

Session::get('tk', 1);
Session::get('ntk', 0);

因为这样我不需要if,因为它给出了默认值

2 个答案:

答案 0 :(得分:2)

在您的代码中,请执行以下操作:

{{ Form::checkbox('tijdkritisch', <?php $tk ?>, true) }} Tijdkritisch (TK) <br>
{{ Form::checkbox('niettijdkritisch', <?php $ntk ?>, false) }} Niet-tijdkritisch (NTK)

应改为:

{{ Form::checkbox('tijdkritisch', $tk , true) }} Tijdkritisch (TK) <br>
{{ Form::checkbox('niettijdkritisch', $ntk, false) }} Niet-tijdkritisch (NTK)

<?php ?>删除{{ }},您也可以编写如下代码:

$tk = Session::has('tk') ? Session::get('tk') : 1;
$ntk = Session::has('ntk') ? Session::get('ntk') : 0;

或者像这样(似乎你知道这一点,无论如何):

$tk = Session::get('tk', 1);
$ntk = Session::get('ntk', 0);

答案 1 :(得分:1)

不要将PHP标记放在刀片指令中,而只需将PHP代码放在blade指令中,就像对PHP标记一样:

使用刀片指令:

{{ Form::checkbox('name', $tk, true) }} 

使用PHP标签:

<?php echo Form::checkbox('name', $tk, true) ?>