用函数生成select选择框

 1 // 生成 html select option 标签
 2 function build_options($options, $opt=‘‘,$k=‘‘) {
 3     $frags  = array();
 4     if (is_string($options))
 5     {
 6         if (FALSE !== strpos($options, ‘,‘)) {
 7             $options = explode(‘,‘, $options);
 8         } else if (FALSE !== strpos($options, ‘ ‘)) {
 9             $options = explode(‘ ‘, $options);
10         } else{
11             return  ‘‘;
12         }
13         if ($opt && !in_array($opt, $options))
14         {
15             array_unshift($options, $opt);
16         }
17
18         $options = array_combine($options, $options);
19     }
20     if (is_array($options))
21     {
22         if($opt && !in_array($opt,$options))
23         {
24             array_unshift($options,$opt);
25         }
26         foreach ($options as $key=>$val)
27         {
28             if ($opt!==‘‘&&$k!==‘‘&&$key == $opt)
29             {
30                 //后来添加的那个元素中还有键 说明传入了k
31                 $key=$k;
32             }
33             $frags[] = sprintf(‘<option value="%s" %s>%s</option>‘,$key, $opt != ‘‘ && $key == $opt ? ‘selected‘ : ‘‘, $val);
34         }
35     }
36
37     return  implode("\n", $frags);
38 }

传入两个参数 第一个是数组 第二个是要选中的列key值

如果只是传入字符串在这样的

同时如果要传入键值为数组中没有的可以这样做

默认选中你需要的

时间: 2024-11-05 21:57:00

用函数生成select选择框的相关文章

select选择框在谷歌火狐和IE样式的不同

select选择在不同浏览器不同的显示样式, 在IE中 虽然默认和谷歌一样,但是当点击时向下 按钮消失, 解决方法如下: select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择框样式清除*/ appearance:none; -moz-appearance:none; -webkit-appearance:none; /*在选择框的最右侧中间显示小箭头图片*/ backgro

Android较低版本(&lt;5.2) 页面默认Select选择框效果的BUG解决

Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: 期望达到的效果: 解决方案: 判断是否是微信环境: function isWeixinBrowser(){ return /micromessenger/.test(navigator.userAgent.toLowerCase()); } 判断安卓版号: var userAgent = navigato

类似 select 选择框效果及美化

网上有各种各样的关于 select 选择框的美化,找了很多,并没有好的样式效果.所以就找了一个利用 ul li 做的类似 select 选择框的效果,不废话了,先上图,效果如下: 对于上图的箭头效果,可以看看我上篇博客 点击这里 点击一个 test ,就会把列表显示出来,再次点击,列表隐藏,选择一个 li ,就会把 span 里的内容替换成 li 的内容,然后可以用 js 监控 span 的变化,然后执行你的代码.效果如下: html 代码如下: <div id="type" c

AngularJS初始化Select选择框

body { background: #f4f4f4 } .title { width: 100%; background: #5cb85c; padding: 5px; font-size: 20px; margin: 5px } 一.引入 之前一个离职的同事负责的项目大量的引入了AngularJS的JS框架,后来我接手相关他项目里的功能.由于对AngularJS不是太熟,在他的功能上进行二次开发就比较费劲了,印象比较深的一个就是如何创建并初始化一个Select选择框.最近我又研究了一下Ang

微信开发 select选择框

最近在该企业微信的功能,要做一个微信界面,要使用select来做下拉选择框 部分前台HTML代码: 在选择分享组的时候,要从后台查询数据来做选择项 1 <form:form id="imgForm" modelAttribute="uploadImg" action="${oauthPath}/img/${agentKey}/submit" method="post"> 2 <input id="i

AngularJS Select(选择框)

AngularJS 可以使用数组或对象创建一个下拉列表选项. 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angula

jquery模拟select选择框

直接贴代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模拟select框</title> <style> * { margin: 0; padding: 0; } body { font-family: 微软雅黑; } ul, ul li { list-style: none; } #

js原生代码给select选择框实现onchange事件

<select name="limit" onchange="selectStages()"> //绑定onchange事件 <option>请选择期限</option> {loop $limit $item} <option value="{$item}">{$item}</option> {/loop} </select> function selectStages(){

select选择框三级联动

<script language="javascript"> var selItm = new Array(4), selItemr = new Array(4),i,j; for ( i=0; i<4; i++){ selItm[i] = new Array(); selItemr[i] = new Array(); } selItm[0][0] = new Option("请选择", " "); //定义基本选项 selIt