小物件之select单选下拉列表

有时候在控制器中做了一个数组 然后需要在模板view中循环 同时还需要判断是否有选中的值,就会造成很多开始闭合标签 以前都是这样写

这样实在太繁琐了,不如封装一个小物件

封装函数如下:

代码如下:

function get_select($array=array(),$key=null)
{
    $string=$attribute_info="";
    $attribute=isset($array[‘attribute‘])?(array)$array[‘attribute‘]:array();//获取属性
    $data=isset($array[‘data‘])?(array)$array[‘data‘]:array();//获取data
    foreach ($attribute as $k => $v)
    {
        $attribute_info.=‘ ‘.$k.‘="‘.$v.‘" ‘;//拼接成select的属性
    }
    $string="<select {$attribute_info}>";//select头和属性设置完毕
    //遍历全部option
    foreach ($data as $k => $v)
    {
        $select="";
        if($key!==null && $k==$key)
        {
            $select=‘selected="selected"‘;//如果设置了选择key 就选中它
        }
        $string.= "<option value=‘".$k."‘ {$select}>".$v."</option>";//拼接option
    }
    $string.="</select>";//拼接select尾部
    return $string;//返回该 select选择框
}

调用如下:

效果如图:

时间: 2024-10-01 06:53:25

小物件之select单选下拉列表的相关文章

小物件之radio单选列表

有时候在控制器中做了一个数组 然后需要在模板view中循环 同时还需要判断是否有选中的值,就会造成很多开始闭合标签 以前都是这样写 这样实在太繁琐了,不如封装一个小物件 封装函数如下: 代码如下: function get_radio($array=array(),$key=null) { $string=$attribute_info=""; $attribute=isset($array['attribute'])?(array)$array['attribute']:array(

Yii 通过widget小物件生成添加表单

通过widget小物件创建添加商品的表单 视图里,表单以endWidget();?>结束 最终效果: 把表单提交过来的信息保存到数据库中去. 补充要点: 密码表单: <?php echo $form->passwordField(模型对象,’字段’); 单选表单: <?php echo $form->radioButtonList($user_model,'user_sex',$sex,array('separator'=>'&nbsp','labelOptio

YII用户注册和用户登录(二)之登录和注册在视图通过表单使用YII小物件并分析

登录和注册在视图通过表单使用YII小物件并分析 [php] view plain copy print? <?php $form = $this -> beginWidget('CActiveForm', array( 'enableClientValidation'=>true, 'clientOptions'=>array( 'validateOnSubmit'=>true, ), ) ); ?> <?php $this->endWidget(); ?&

Yii入门指导(四):强大的“小物件”

1,修改默认的控制器 Yii的默认应用: 所有的配置都可以在main.php中进行配置,那么修改默认的控制器就是在main.php中增加如下代码: 'defaultController' => '', //修改默认控制器 Yii模块:admin模块为例 每个Yii的模块,都会在protected/modules目录下具有单独的文件夹,例如:admin,然后在对应的模块文件夹下存在对应的模块文件,如:AdminModule.php 那么对于模块的修改它的模块控制器则需要在AdminModule.p

java+selenium+new——操作单选下拉列表——select类

package rjcs; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.Select; public class xinkaishi { public static void main(String[] args) { System.setProperty("webdr

java+selenium+new——操作单选下拉列表——打印每一个选项——3种方法选中某一个选项——select类

package rjcs; import java.util.*; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.ui.Select; public class xinkaishi { public

小贝_mysql select连接查询

select连接查询 简要: 一.union联合查询 二.左右内连接 一.union联合查询 作用: 把2次或多次查询结果合并起来 具体: (表1查询结果) union (表2查询结果) 运行: 先算表1查询结果,再算表2查询结果.再通过union把结果联合起来. 总结: a.左右查询结果列数一致 b.终于显示结果以第一张表的列名为主 c.左右查询结果的列类型最好也一致.不然就会进行转换. 由低到高.如表1结果A列为整形,表2结果A列为浮点型.则表1在A列的结果转换为浮点型 d.能够是不同表 e

js控制select数据绑定下拉列表

JS代码段:  <script type="text/javascript"> $(document).ready(function () { $("select[name='paystatus']").val("@Model.paystatus"); //方法一 //$("#paystatus option[value='@Model.paystatus']").attr("selected"

YII 1.0 发表文章用到的小物件

<?php $form = $this->beginWidget('CActiveForm',array('htmlOptions'=>array('enctype'=>'multipart/form-data'))) ?> <table class="table"> <tr > <td class="th" colspan="10">发表文章</td> </tr