Laravel 5.1如何在刀片文件上使用{{old('')}}帮助程序进行无线电输入

时间:2015-10-15 06:07:36

标签: php laravel blade laravel-5.1

我正在学习laravel并创建我的第一个表单。在我的刀片文件中使用{{old('')}}帮助器进行单选按钮之前,一切都很棒。我不确定如何正确地做到这一点,我似乎也无法在这里找到关于它的更多信息。

我的代码如下:

$("select.positionTypes").change(function () {
    $("select.positionTypes option[value='" + $(this).data('index') + "']").prop('disabled', false); //reset others on change everytime
    $(this).data('index', this.value);
    $("select.positionTypes option[value='" + this.value + "']:not([value=''])").prop('disabled', true);
    $(this).find("option[value='" + this.value + "']:not([value=''])").prop('disabled', false); // Do not apply the logic to the current one
});

4 个答案:

答案 0 :(得分:17)

我认为以下内容更为清晰:

<input type="radio" name="geckoHatchling" id="geckoHatchlingYes" value="1" @if(old('geckoHatchling')) checked @endif>

<input type="radio" name="geckoHatchling" id="geckoHatchlingYes" value="1" @if(!old('geckoHatchling')) checked @endif>

@if正在检查旧值的真实性,并在任何一种情况下输出checked

答案 1 :(得分:11)

您可以使用Form-helper,但它不是Laravel开箱即用的。您应该手动安装它。 Please read the docs.

使用FORM-HELPER

<强> 1。叶片

{!! Form::radio('geckoHatchling', '1', (Input::old('geckoHatchling') == '1'), array('id'=>'geckoHatchlingYes', 'class'=>'radio')) !!}
{!! Form::radio('geckoHatchling', '0', (Input::old('geckoHatchling') == '0'), array('id'=>'geckoHatchlingNo', 'class'=>'radio')) !!}

<强> 2。 PHP

echo Form::radio('geckoHatchling', '1', (Input::old('geckoHatchling') == '1'), array('id'=>'geckoHatchlingYes', 'class'=>'radio'));
echo Form::radio('geckoHatchling', '0', (Input::old('geckoHatchling') == '0'), array('id'=>'geckoHatchlingNo', 'class'=>'radio'));

没有FORM-HELPER

<强> 1。叶片

<input type="radio" name="geckoHatchling" id="geckoHatchlingYes" value="1" @if(Input::old('geckoHatchling')) checked @endif>
<input type="radio" name="geckoHatchling" id="geckoHatchlingNo" value="0" @if(!Input::old('geckoHatchling')) checked @endif>

<强> 2。 PHP

<input type="radio" name="geckoHatchling" value="1" class="radio" id="geckoHatchlingYes" <?php if(Input::old('geckoHatchling')== "1") { echo 'checked'; } ?> >
<input type="radio" name="geckoHatchling" value="0" class="radio" id="geckoHatchlingNo" <?php if(Input::old('geckoHatchling')== "0") { echo 'checked'; } ?> >

答案 2 :(得分:1)

我已经尝试了接受的答案的解决方案,但对我而言不起作用,

我必须使用此{{}}大括号(这是刀片模板的回声)才能使用条件语句。

<input type="radio" name="geckoHatchling" id="geckoHatchlingYes" value="1" {{(old('geckoHatchling') == '1') ? 'checked' : ''}}>

答案 3 :(得分:0)

我偶然发现了我认为对这个问题更准确、更全面的答案。提供的主要答案的问题是最后一个单选按钮将始终被选中。但是,我在下面提供了一个代码示例来展示如何解决这个问题。 (PS - 这适用于 Laravel 8,而且,我只是假设它适用于以前的版本)

<div> <input type="radio" name="role" value="teacher" @if(old('role') == 'teacher') checked @endif> </div>
        
<div> <input type="radio" name="role" value="student" @if(old('role') == 'student') checked @endif> </div>
        
<div> <input type="radio" name="role" value="assistant" @if(old('role') == 'assistant') checked @endif> </div>

刚刚使用:

@if(old('role') checked @endif

如果您有多个单选按钮,将始终导致最后一个单选按钮被选中。