PHP控制前端部分标签选中状态


比如这么一个修改文章详情的场景。比如显示文章的标题,就比较直接,echo就行,但是比如select,radio,checkbox这类标签则需要判断下,符合条件的则给标签的这个子项改为选中状态。


举例

select标签

<div class="form-group">
    <label class="col-sm-2 control-label">标签分类</label>
    <div class="col-sm-5">
        <select class="form-control" name="cat_id">
            <option value="">--请为标签选择分类--</option>
            <?php foreach ($categorys as $k => $v){ ?>
                <option <?php echo $k===$row['cat_id']?'selected':''; ?> value="<?php echo $k ?>"><?php echo $v ?></option>
            <?php } ?>
        </select>
    </div>
</div>

这里的$row是从数据库中取出的文章详情数组,$row['cat_id']存的是文章标签分类id。$categorys则为所有标签数组。key为cat_id,value为cat_name。

在遍历$categorys时,往select填充option的时候,判断$k与当前文章的cat_id是否相等,相等则输出selected或者selected="selected"。


radio标签和checkbox标签类似,同样是加入checked="checked"使元素改为被选中状态。

<input type="radio" <?php echo $row['yes']===1?'checked':''; ?>  value="1">是


总结

记得刚学php的,跟着视频敲代码,实现了一个web加减乘除计算器,用php灵活的控制html的状态,当时还是很有成就感的。

一直觉得,自学容易失败就是因为缺少成就感,或者被生活压力压垮了。

使用php,不仅仅是灵活控制这些标签,而是灵活控制整个模板页上的内容显示,包括css,js等等。

html php


上一篇:YPHP后台中RBAC实现整理(数据库设计篇)

phpexcel的自动加载与其他框架有冲突:下一篇