You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求PHP Laravel开发者解决Edit Blade中Select选项自动选中问题

解决Edit Blade中Select选项自动选中数据库值的问题

嘿,我懂你现在的困扰:想让编辑页面的下拉框自动选中数据库里存的分类,但当前代码没生效对吧?问题出在你把selected属性加在了<select>标签上,这不符合HTML的规则——这个属性应该放在对应的<option>标签里,而不是整个选择框上。

咱们直接改代码就行,给每个选项加上判断,当它的value和$header->category的值匹配时,就添上selected属性:

<label>Select Category</label>
<select name="category" class="form-control">
    <option value="logo-design" {{ $header->category == 'logo-design' ? 'selected' : '' }}>logo-design</option>
    <option value="website-development" {{ $header->category == 'website-development' ? 'selected' : '' }}>website-development</option>
    <option value="app-development" {{ $header->category == 'app-development' ? 'selected' : '' }}>app-development</option>
    <option value="search-engine-optimization" {{ $header->category == 'search-engine-optimization' ? 'selected' : '' }}>search-engine-optimization</option>
    <option value="digital-marketing" {{ $header->category == 'digital-marketing' ? 'selected' : '' }}>digital-marketing</option>
    <option value="cloud-hosting" {{ $header->category == 'cloud-hosting' ? 'selected' : '' }}>cloud-hosting</option>
</select>

这里用了Laravel的三元运算符,每个选项都会对比自身value和数据库里的分类值,匹配的话就自动加上selected属性,页面加载时就会默认选中对应的选项了。

如果以后你的分类是从数据库动态获取的(比如有个专门的分类表),还可以用循环简化代码,不用手动写每个选项:

<label>Select Category</label>
<select name="category" class="form-control">
    @foreach($categories as $category)
        <option value="{{ $category->slug }}" {{ $header->category == $category->slug ? 'selected' : '' }}>{{ $category->name }}</option>
    @endforeach
</select>

这样以后新增分类时,只要数据库里添加了,页面就会自动显示,不用再改blade文件啦。

内容的提问来源于stack exchange,提问作者yasir khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 11:49:09