以《ThinkPHP之数组参数》中的例子为依据,在对一个用户的爱好进行编辑时,如何使该用户现有的爱好选项选中?

  显示逻辑是:遍历所有爱好选项,对每个选项进行判定,是否当前选项的id被包含在现有爱好的id数组中,如果被包含,则添加checked属性。代码如下:

<volist name="hobbys" id="h">
    <input type="checkbox" name="hobby_id[]" value="{$h.id}"  <?php if(in_array($h['id'], $myids)) echo("checked");?> />{$h.name}
</volist>

  变量hobbys表示所有待选的爱好,$myids表示该用户已选爱好的id,使用函数in_array进行包含判断。注意,由于input标签是html元素,在该元素内部使用""会引起Eclipse对代码的校验错误,因为input的结束标签">"被混淆了,但是不影响页面正常显示。

文章作者:xiaohui249
本文链接:https://javatech.wang/index.php/archives/72/
版本所有 ©转载时必须以链接形式注明作者和原始出处