将数组格式化成json格式(2 相关日期下的 费用)
2012-02-20 14:11
507 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head> <body> <?php $list = array( '201201' => array( '1' => array( 'groupid' => 1, 'name' => '费用A', 'value' => '1', ), '2' => array( 'groupid' => 2, 'name' => '费用B', 'value' => '2', ), '3' => array( 'groupid' => 3, 'name' => '费用C', 'value' => '3', ), ), '201202' => array( '1' => array( 'groupid' => 1, 'name' => '费用A', 'value' => '21', ), '2' => array( 'groupid' => 2, 'name' => '费用B', 'value' => '22', ), '3' => array( 'groupid' => 3, 'name' => '费用C', 'value' => '23', ), ), '201203' => array( '1' => array( 'groupid' => 1, 'name' => '费用A', 'value' => '31', ), '2' => array( 'groupid' => 2, 'name' => '费用B', 'value' => '32', ), '3' => array( 'groupid' => 3, 'name' => '费用C', 'value' => '33', ), ), ); $budgetListFormatToJson = pwJsonEncode($list); $budgetNum = 3; function pwJsonEncode($var) { switch (gettype($var)) { case 'boolean' : return $var ? 'true' : 'false'; case 'NULL' : return 'null'; case 'integer' : return (int) $var; case 'double' : case 'float' : return (float) $var; case 'string' : return '"' . addslashes(str_replace(array("\n", "\r", "\t"), '', addcslashes($var, '\\"'))) . '"'; case 'array' : if (count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) { $properties = array(); foreach ($var as $name => $value) { $properties[] = pwJsonEncode(strval($name)) . ':' . pwJsonEncode($value); } return '{' . join(',', $properties) . '}'; } $elements = array_map('pwJsonEncode', $var); return '[' . join(',', $elements) . ']'; } return false; } ?> <form method="post"> <select class="select_wa mr5" onchange="chage(this.value, 'createcheckbox', 'budgetdescribe');" name="date"> <option value="">--请选择--</option> <?php foreach ($list as $key=>$value) { ?> <option value="<?php echo $key;?>"><?php echo $key;?></option> <?php } ?> </select> <div id="createcheckbox"></div> <div id="budgetdescribe" style="margin-top:10px"></div> <button type="submit"></button> </form> <script> function JSONParse(text){ var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g; var j; if (cx.test(text)) { text = text.replace(cx, function (a) { return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); }); } if (/^[\],:{}\s]*$/. test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@'). replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'). replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { j = eval('(' + text + ')'); return j; } alert('error'); } function getObj(id){ return document.getElementById(id); } function chage(date, createId, describeId) { var budgetlist = JSONParse('<?php echo $budgetListFormatToJson;?>'); var budgetNum = '<?php echo $budgetNum;?>'; var newInput = describe = ''; if (typeof budgetlist[date] == 'undefined') { getObj(createId).innerHTML = newInput; getObj(describeId).innerHTML = describe; return false; } for(var i = 1; i <= budgetNum; i++) { newInput += budgetlist[date][i]['name']+'<input type="checkbox" value="1" name="budgets['+budgetlist[date][i]['groupid']+']"/>' + ' '; describe += budgetlist[date][i]['name'] + ':'+ budgetlist[date][i]['value']+" "; } getObj(createId).innerHTML = newInput; getObj(describeId).innerHTML = describe; } </script> </body> </html>
相关文章推荐
- java--格式化json日期格式对象 相关实例代码
- 后台返回json格式数据日期格式化
- java 实体类中日期属性格式化 @JSONFORMAT 日期格式自动格式化
- 在js中对json格式的日期、时间等内容进行格式化
- extjs显示格式化返回JSON格式的日期
- Ruby中格式化日期格式的相关资料
- WebApi 返回小驼峰式 json 格式,并格式化日期
- WebApi 返回小驼峰式 json 格式,并格式化日期
- rails 比较日期年月、数组、返回hash格式的json数据、rails结构体
- WebApi 返回小驼峰式 json 格式,并格式化日期
- 【Java基础】@JSONFORMAT 日期格式自动格式化
- 【Java】@JSONFORMAT 日期格式自动格式化
- 【十四】数组练习题2----以objid以日期为间隔,使用json格式打印出来
- json格式的日期格式化
- 格式化json日期格式对象
- 关于如何将js中的数组转为json格式
- 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题
- 转换json格式的日期为Javascript对象的函数
- JSTL I18N 格式标签库 使用之一_____数字日期格式化
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示