destoon信息或者公司归属多个类别的解决方式
有时候,一条信息属对应于多个类别,在destoon原生系统里是没有这个解决方案
在公司行业类别选择的地方实现了这个功能,但是选择体验不太好,不符合我当前的需求,目前我写了如下解决方案
系统代码如下:
前端使用插件:tntreebox
<script type="text/javascript">
$(function(){
var data = [];
for(var i=0;i<10;i++){
if(i==2){
var no_box = true;
}else{
var no_box = false
}
data.push({
id:'p_'+i,
name:'父选项'+i,
no_box:no_box,
});
} for(var i=0;i<10;i++){
data.push({
id:'c_'+i,
name:'子选项1_'+i,
parent_id:'p_1',
});
}
for(var i=10;i<1000;i++){
data.push({
id:'c_'+i,
name:'父选项2_'+i,
parent_id:'p_2'
//is_select:true,
});
}
tnTreeBox('treebox','checkboxname',data,['c_1','c_2']);
}); </script>
tnTreeBox('div_id','checkboxname',data,selected);
参数说明:
div_id:插入html的标签id
checkboxname:checkname的name
data:选项数据,array,如 [id:1,name:'选项1']
selected:已中项id,array,如:['id1','id2']
data配置说明:
id:checkbox的valude
name:选项名称
is_parent:上级id
is_select:是否选中
no_box:设置没checkbox项目
/module/member/admin/template/member_add.tpl.php
<script type="text/javascript" src="/file/script/tntreebox.js?v=2"></script>
<link rel="stylesheet" type="text/css" href="/file/script/tntreebox.css?v=2" />
<div id='treebox' style="width: 800px; margin: 20px;"></div>
<script type="text/javascript">
$(function(){
var data = [];
<?php
$maincat=get_maincat(0,5 );
foreach ($maincat as $k=>$v){
echo "data.push({id:'p_'+{$v['catid']},name:'{$v['catname']}',no_box:true,});";
$soncat=get_maincat($v['catid'],5 );
$fid = $v['catid'];
foreach ($soncat as $k =>$v){
echo "data.push({id:'s'+{$v['catid']},name:'{$v['catname']}',parent_id:'p_{$fid}',});";
}
} ?> tnTreeBox('treebox','post[major][]',data,[]);
}); </script>
/module/member/admin/template/member_edit.tpl.php
<script type="text/javascript" src="/file/script/tntreebox.js?v=2"></script>
<link rel="stylesheet" type="text/css" href="/file/script/tntreebox.css?v=2" />
<div id='treebox' style="width: 800px; margin: 20px;"></div> <script type="text/javascript">
$(function(){
var data = [];
<?php
$maincat=get_maincat(0,5 );
foreach ($maincat as $k=>$v){
echo "data.push({id:'p_'+{$v['catid']},name:'{$v['catname']}',no_box:true,});";
$soncat=get_maincat($v['catid'],5 );
$fid = $v['catid'];
foreach ($soncat as $k =>$v){
echo "data.push({id:'s'+{$v['catid']},name:'{$v['catname']}',parent_id:'p_{$fid}',});";
}
}
$major = $major ? explode(',', substr($major, 1, -1)) : array();
$majorSelect="'ssss'";
foreach ($major as $k=>$v){
$majorSelect.=",'s{$v}'";
}
//$majorSelect = "'s251','s40'";
?> tnTreeBox('treebox','post[major][]',data,[<?php echo $majorSelect;?>]);
}); </script>
/module/member/member.class.php
function edit ,function add方法增加major和majors字段
$company_fields = array(…………………………,'major','majors');
function set_member方法里增加如下代码段
//对学校专业做多重选择
$member['major']=isset($member['major'])?$member['major']:'';
$member['major']=implode(',' , $member['major']);
$member['major']=','.str_replace('s','',$member['major']).',';//替换掉产生的s字母
if($member['major']) {
$majors = explode(',', substr($member['major'], 1, -1));
$cids = '';
foreach($majors as $catid) {
$C = get_cat($catid);
echo($C['arrparentid']).'<hr>';
if($C) {
$catid = $C['parentid'] ? $C['arrparentid'].','.$catid : $catid;
$cids .= $catid.',';
}
}
$cids = array_unique(explode(',', substr(str_replace(',0,', ',', ','.$cids), 1, -1)));
$member['majors'] = ','.implode(',', $cids).',';
}
destoon信息或者公司归属多个类别的解决方式的更多相关文章
- Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php
Atitit.dwr3 不能显示错误具体信息的解决方式,控件显示错误具体信息的解决方式 java .net php 1. Keyword/subtitle 1 2. 使用dwr3的异常convert处 ...
- SQL Server统计信息:问题和解决方式
在网上看到一篇介绍使用统计信息出现的问题已经解决方式,感觉写的很全面. 在自己看的过程中顺便做了翻译. 因为本人英文水平有限,可能中间有一些错误. 假设有哪里有问题欢迎大家批评指正.建议英文好的直接看 ...
- Destoon后台修改公司会员资料信息的必填项限制修改
/template/default/member/edit.htm module\member\admin\template\member_edit.tpl.php module\member\adm ...
- destoon 信息发布表单提交验证
sell 模块的form表单如下: <form method="post" id="dform" action="?" target= ...
- 物流公司统计按物资类别采购的前二十家sql
2.集团主要的供应商(按物资分类列举前10或20家名单),年采购金额.占比,结算方式,付款周期:(夏) 年份要求是2013年 arap_djfb中的单据日期不是常规的日期类型 需要做这样的转换才可以 ...
- iOS中忽略NSLog打印信息(通过PCH文件中定义DEBUG宏解决)
iOS中忽略NSLog打印信息 解决办法: 1.新建PrefixHeader_pch文件,在该文件中定义一下宏 //通过DEBUG宏的定义来解决Debug状态下和Release状态下的输出 #ifde ...
- TortoiseGit 错误信息Aborting commit due to empty commit message.解决
错误信息: Aborting commit due to empty commit message. git不能完全退出(退出码 1) (47 ms @ 2016/2/19 14:03:24) 解决办 ...
- MySQL数据库引擎类别和更换方式
MySQL数据库引擎类别 能用的数据库引擎取决于mysql在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEA ...
- NFS挂载报如下错误信息:mount.nfs: Stale NFS file handle解决
1)用fuser杀掉占用那个目录的进程 linux:~ # fuser -k /home/msgplus/msgplus/remote_dir 2)强制umount linux:~ # umount ...
随机推荐
- mysql通过日志恢复数据库
案例:http://www.linuxidc.com/Linux/2012-11/74005.htm http://blog.csdn.net/ssrc0604hx/article/details/1 ...
- JavaScript--函数中()的作用
在函数中参数是函数的时候:function a(函数名) 与 function a(函数名()) 的区别: // 在函数里面() 是一个编组和立即执行的功能 /** * function autoPl ...
- Pycurl介绍
pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...
- css技巧——垂直居中
1.父元素确定的单行垂直居中 通过设置父元素的 height 和 line-height 高度一致来实现的. 2.父元素确定的多行垂直居中 父元素高度确定的多行文本.图片.块状元素的竖直居中的方法有两 ...
- python 内置函数补充 or 递归 or 二分法
一.内置函数的补充 repr() 显示出字符串的官方表示形式 chr() print(chr(20013)) # 把数字编码转换成字符串 ord() print(ord('中')) # 20013 把 ...
- Calendar类实现当前日期的日历
package com.sxt.home1; import java.text.DateFormat; import java.text.ParseException; import java.tex ...
- Android学习笔记之 SimpleAdapter 中添加按钮响应事件,getView的重写
Andriod 里面的ListView是一个显示列表数据的控件,常用适配器SimpleAdapter进行绑定,绑定代码如下: ListView lstView = (ListView) this.fi ...
- 前后端登录注册之node剖析与token的使用状态
登录模块功能详解 1.用户名密码的格式验证 由前端完成,根据需求自行决定,不加叙述 2.点击提交按钮思路详解 前端将用户名 以及加密后的密码还有验证码输入的内容统一发给后端 由后端和数据库的数据进行 ...
- hihocoder1994 树与落叶 DFS+前缀和+二分
DFS找到节点删除的时间,删除的时间其实就是子树的最长链,然后给每个点打一个时间戳,然后求每个时间点对应删除的节点的个数,对于1-max_time时间戳求一个前缀和,然后二分找到和m距离最近的那一天 ...
- java一般处理高并发的技术手段
应对高并发的解决方案: 1.将压力放在数据库上面,添加行级锁. select * from table for update; 2.将压力放在应用程序上面,对方法加synchronized同步.