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
相关产品推荐
相关产品推荐

