小物件之checkbox复选框

Posted 李照耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小物件之checkbox复选框相关的知识,希望对你有一定的参考价值。

有时候需要输出一组checkbox复选框,并且做根据选定元素将其选中的功能,以往都要在模板中循环输出checkbox标签,同时加以判断是否需要选中,这样就会造成很多开始闭合标签 以前都是这样写

 

现在我将这样的代码封装成一个函数直接调用

封装函数如下:

完整代码如下:

<?php
function get_checkbox($array=array(),$key_list=array())
{
    $string=$attribute_info="";
    $attribute=isset($array[\'attribute\'])?(array)$array[\'attribute\']:array();//获取属性
    $data=isset($array[\'data\'])?(array)$array[\'data\']:array();//获取data
    foreach ($attribute as $key => $v) 
    {
        $attribute_info.=\' \'.$key.\'="\'.$v.\'" \';//拼接成checkbox的属性
    }
    //遍历全部
    foreach ($data as $k => $v) 
    {
        $checked="";
        if(in_array($k,$key_list))
        {
            $checked=\'checked="checked"\';//如果设置了选择key 就选中它
        }
        $string.= "<input type=\'checkbox\' value=\'{$k}\' {$attribute_info} {$checked} />{$v}";//拼接checkbox
    }
    return $string;//返回该复选框
}

$array=array(
    "attribute"=>array(
        "name"=>"checkbox_name[]",
    ),
    "data"=>array(
        1=>"看书",
        2=>"打篮球",
        3=>"看电影",
        4=>"旅行",
        5=>"打游戏",
        6=>"冒险",
    ),
);
$my_hobby=array(1,2,5);
echo (get_checkbox($array,$my_hobby));
?>

效果如图:

以上是关于小物件之checkbox复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何判断checkbox复选框是否选中

小物件之radio单选列表

小物件之select单选下拉列表

Selenium-测试对象操作之:复选框checkbox

Jquery if复选框是否已选中Bootstrap开关

jquery操作复选框(checkbox)的一些小技巧总结