Php 设置下拉选项的选定值

Php 设置下拉选项的选定值,php,html,laravel,laravel-blade,Php,Html,Laravel,Laravel Blade,我正在用Laravel Blade开发一个简单的计算器应用程序。我们还没有移动到模型,只是在视图和管线中工作,所以我一直遇到一些我还没有学会如何使用的选项 我的应用程序运行正常,但在POST下拉列表中未保留选定值。我能够将值打印到屏幕上,它在稍后的选择器中工作。 我想我只需要在选项中写一个if语句来设置所选的值,但是我找不到我理解/允许在这个项目中使用的语法 <div class="form-group"> <select class="form-contr

我正在用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>

加法(+)
减法(-)

在这个示例中,我发现了一个可丢弃的错误,因此我知道它是不正确的。

可丢弃的错误是由于调用会话外观而没有\root指示符,请改用会话帮助程序

例如
routes/web.php

路由::get('/',函数(){ 会话(['operatorInput'=>'-']); 返回视图(“欢迎”); }); 和
welcome.blade.php


加法(+)
减法(-)
结果

您可以保留当前代码,但需要在
\Session
外观别名之前添加反斜杠
\
,但我发现对于视图文件来说,helper函数更优雅(更短)


希望这能有所帮助

我刚刚尝试添加\before会话,但仍然出现了一个带有“”T\u字符串错误的可丢弃错误。是否有其他代码有助于添加以全面了解我正在做的事情?更新了我的答案,以单独使用三元运算符而不是
@if
方向可能是在会话
session::put('operatorInput','+')中设置值的控制器代码不使用控制器,只使用视图和路由我添加了一个使用路由的示例这回答了你的问题吗?不,没有。我想设置所选内容,然后将其传递给POST,这样我的下拉列表将显示所选的值,直到清除为止。设置默认值只会使该值成为会话中保存并随后发布的值。谢谢你!