Laravel Blade视图语法错误:意外'<',请求解决下拉框选中问题
解决Laravel视图中下拉选项selected设置的语法错误
嘿,刚上手Laravel遇到这种语法问题太正常了,我来帮你捋清楚问题出在哪以及怎么修复!
错误原因分析
你碰到的Parse error: syntax error, unexpected '<',主要是两个问题导致的:
- Blade指令里错误使用了
{{}}:在@if这种Blade控制结构里,直接写变量表达式就行,不需要套输出用的{{}}——加了之后Blade会把它解析成HTML输出,直接打乱了代码结构,触发语法错误。 - HTML标签不完整:你贴的代码里最后一个
option标签没写完,缺少闭合的</option>,这也会导致解析异常。
修复后的代码示例
这里给你两种简洁且正确的写法,任选其一就行:
写法一:使用Blade三元表达式(推荐,更简洁)
<select class="form-control" name="country" id="country"> <option disabled>Please select...</option> <option value="OZ" {{ $asset->country === 'OZ' ? 'selected' : '' }}>OZ</option> <option value="NZ" {{ $asset->country === 'NZ' ? 'selected' : '' }}>NZ</option> </select>
写法二:使用@if控制结构
<select class="form-control" name="country" id="country"> <option disabled>Please select...</option> <option value="OZ" @if($asset->country === 'OZ') selected @endif>OZ</option> <option value="NZ" @if($asset->country === 'NZ') selected @endif>NZ</option> </select>
关键注意点
- 在Blade的控制指令(
@if、@foreach等)内部,直接写PHP风格的表达式即可,不用加{{}};{{}}只用来输出变量或表达式的结果到HTML中。 - 始终确保HTML标签完整闭合,避免解析器报错。
内容的提问来源于stack exchange,提问作者swisstony
相关产品推荐
相关产品推荐

