Установка выбранного значения выпадающего меню - PullRequest
0 голосов
/ 08 ноября 2019

Я работаю над простым приложением калькулятора в Laravel Blade. Мы еще не перешли на модели, просто работаем с видами и маршрутами, поэтому я продолжаю сталкиваться с опциями, которые еще не изучил, как их использовать.

Мое приложение работает без проблем, но не сохраняет выбранное значение в раскрывающемся списке POST. Я могу напечатать значение на экране, и оно работает в более позднем селекторе. Я думаю, что мне просто нужно написать оператор if в опциях, чтобы установить выбранное значение, но я не могу найти синтаксис, который я понимаю / мне разрешено использовать в этом проекте.

    <div class="form-group">
      <select class="form-control form-control-lg" id="operatorInput" name="operatorInput" value="{{Session::get('operator')}}">
        <option value="+" @if(Session::get('operatorInput') == "+" ? "selected" : "" )@endif>Addition (+)</option>
        <option value="-" @if(Session::get('operatorInput') == "-" ? "selected" : "" )@endif>Subtraction (-)</option>   
      </select>
    </div>

Я получаюошибка в этом примере, поэтому я знаю, что это не правильно.

1 Ответ

0 голосов
/ 08 ноября 2019

Ошибка выброса связана с вызовом Session Facade без индикатора \ root, вместо этого используйте помощник сеанса

Например routes/web.php

Route::get('/', function () {
    session(['operatorInput' => '-']);
    return view('welcome');
});

И welcome.blade.php

<div class="form-group">
    <select class="form-control form-control-lg" id="operatorInput" name="operatorInput"
        value="{{ session('operator') }}">
        <option value="+" {{  (session('operatorInput') == "+") ? "selected" : "" }}>Addition (+)</option>
        <option value="-" {{  (session('operatorInput') == "-") ? "selected" : "" }}>Subtraction (-)</option>
    </select>
</div>

Результат

enter image description here

Вы можете сохранить свой текущий код, но вам нужно добавить обратную косую черту \ перед \Sessionпсевдоним фасада, но я считаю, что вспомогательная функция более элегантна для файла представления (и короче)

Надеюсь, это поможет

...