Laravel如果条件匹配则禁用,否则不要禁用

时间:2019-06-06 08:06:00

标签: laravel laravel-blade

我想在条件值等于1的情况下显示选项标签,如果值等于1,则禁用选项,但如果不相等,则不显示条件

我尝试了如下操作,但是我认为这种方式不可行

<select class="form-control" required>
    @foreach($timeline as $value)

        @if ($value == '1' )
            <option disabled>1</option>  <!--  disable option 1 -->
        @elseif ( $value == '2')
            <option disabled>2</option>  <!-- disable option 2 -->
        @elseif ( $value == '6')
            <option disabled>6</option>  <!-- disable option 6 -->
        @else
            <option>1</option>  
            <option>2</option>
            <option>6</option>
            <option>7</option>
        @endif

    @endforeach

    <option>8 pm </option>
    <option>9 pm </option>
</select>

2 个答案:

答案 0 :(得分:4)

您可以尝试这样做:

<option {{ $value == '6' ? : 'disabled' : '' }}>6</option>

这是什么意思,如果值等于6,它将在该特定位置回显disabled。如果是其他值,它将仍然调用echo,但使用空字符串将导致没有输出,因此不会禁用任何内容。

答案 1 :(得分:0)

尝试

<select class="form-control" id="optvalue" name="optvalue">

               @foreach($timeline as $value)

                  @if ($value->id == '1' )
                  <option value="1" {{ (old('optvalue') == 1) ? "disabled" : "" }}>1</option>  <!--  disable option 1 -->
                  @elseif ( $value->id == '2')
                  <option value="2" {{ (old('optvalue') == 2) ? "disabled" : "" }}>2</option>  <!-- disable option 2 -->
                  @elseif ( $value->id == '6')
                  <option value="6" {{ (old('optvalue') == 6) ? "disabled" : "" }}>6</option>  <!-- disable option 6 -->
                  @else
                  <option>1</option>  
                  <option>2</option>
                  <option>6</option>
                  <option>7</option>
                  @endif
              @endforeach
                  <option>8 pm </option>
                  <option>9 pm </option>
                </select>