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

CodeIgniter 4:如何在更新表单<select>中使用<?= $variable ?>语法回显记录值

用<?= ?>语法实现Select选项的选中状态

你可以用三元运算符配合短标签<?= ?>来统一语法,把原来的if判断逻辑压缩成一行,直接输出selected属性。以下是修改后的完整代码:

<div class="form_group">
    <div for="blood_type">血型:
            <select class="form-control" name="blood_type" required>
                    <option value="" <?= $user_hunter['blood_type'] == '' ? 'selected' : '' ?>>请选择血型</option>
                    <option value="A+" <?= $user_hunter['blood_type'] == 'A+' ? 'selected' : '' ?>>A+</option>
                    <option value="A-" <?= $user_hunter['blood_type'] == 'A-' ? 'selected' : '' ?>>A-</option>
                    <option value="B+" <?= $user_hunter['blood_type'] == 'B+' ? 'selected' : '' ?>>B+</option>
                    <option value="B-" <?= $user_hunter['blood_type'] == 'B-' ? 'selected' : '' ?>>B-</option>
                    <option value="AB+" <?= $user_hunter['blood_type'] == 'AB+' ? 'selected' : '' ?>>AB+</option>
                    <option value="AB-" <?= $user_hunter['blood_type'] == 'AB-' ? 'selected' : '' ?>>AB-</option>
                    <option value="O+" <?= $user_hunter['blood_type'] == 'O+' ? 'selected' : '' ?>>O+</option>
                    <option value="O-" <?= $user_hunter['blood_type'] == 'O-' ? 'selected' : '' ?>>O-</option>
            </select>
    </div>
</div>

写法说明

三元运算符条件 ? 成立时输出内容 : 不成立时输出内容完美适配这种场景:

  • 当$user_hunter['blood_type']与当前option的value匹配时,输出selected属性
  • 不匹配时输出空字符串,相当于不添加该属性

这种写法既统一了你偏好的<?= ?>短标签风格,逻辑和原代码完全一致,同时让代码更简洁紧凑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:54:28