comboBox的多选框之疑难杂症——逗号篇
提笔写正文之前,首先要再次提醒一下自己,因为总是记不住,以至大神同事们都开始用“嫌弃”的眼光看自己了——遇到问题,自己去解决,没有什么问题是解决不掉的,不要在没认真努力思考之前就去麻烦大神同事,切记切记!同样的问题,希望真的可以记住,记住!
记得使用easyui中的combobox吗?效果是酱紫滴:

平常使用的时候,也就是很普通的下拉选框,即单选,但是我们工作中却遇到了将这个下拉选框做成多选框的样式,即:

其实也就是在平常引用中增加了一个“多选”的属性:
<input id="steels" name="stids" class="easyui-combobox" data-options="prompt:'请选择钢厂',valueField:'id',textField:'name',multiple:true,url:'/vip/users/steellist',
panelHeight:'200px'" style="width: 150px">
问题就酱紫出现了:

在第一个选项之前,莫名其妙的多了一个逗号。这个问题,其实从自己刚开始做项目之前就发现了,可当时这也是“偶发性”,自己并没有搞清楚为什么会出现这样的情况,也就有点侥幸心理,想着最后再解决,直到今天,手边的工作快结束了,这个bug便被彻底的翻出来了,于是一个小一个下午的时间,都在研究这究竟是怎么一回事,或许是从来对自己都没有信心吧,在专业问题上,总是不敢说出自己的想法,以至于到最后还是请教了大神上司,结果可想而知:挨骂那是必须的~~(这周,是哪里出现问题了,总是让人以为自己不再状态,错误频出,希望下周进入状态吧!)
又扯远了……回到正题:
关于逗号这个问题,其实关键并不在于combobox本身组件问题,而是由于自己自身原因:因为我们现在做的项目基本都要做“增删改查”,比如新增上去新会员,接着就应该将刚才新增的内容回显在页面上,而我却使用了一个“偷空减料”的方法,因为整个修改的页面是写在form表单中的,因此在回显数据的时候,直接是酱紫滴:
jQuery("#addForm").form("load", row); //赋值,回显数据
本以为天衣无缝、巧夺天工,却不曾想自己忘记了一个重大的问题:新增或者修改的页面是写在form表单中的,但是上述的多选框的数据在load之前,若数据库里面没数据,即此值为空的情况下,load进去的话,会默认给加一个“”,这也就是为什么在第一个数据之前出现了逗号,最开始的时候,曾以为这是这个组件本身的bug,没成想是自己的问题,真觉得汗颜!最终的解决方案就是:
jQuery('#steels').combobox('clear');
jQuery("#addForm").form("load", row); //赋值
在load值之前,先将该下拉框的值清空,这样就把其中的“”删掉了。
总结:
1.在使用插件的时候,一定一定要对照官方文档,细心仔细的学习,不要“以偏概全”,可以先自己做一个小的demo,对于不太熟悉的组件可以不用一次性上项目的,比如:easyui中很多组件都有clear方法,于是便自以为是的以为datetimebox也有clear方法了,结果就出现了时间控件中的值如果是粘贴或者复制过来的,它就是无效的,正确的便是给它.("setValue",""),setValue为空;
2.遇事,一定自己先解决,一定呢!
comboBox的多选框之疑难杂症——逗号篇的更多相关文章
- easyui comboBox的多选框之疑难杂症——逗号篇
提笔写正文之前,首先要再次提醒一下自己,因为总是记不住,以至大神同事们都开始用"嫌弃"的眼光看自己了-- 记得使用easyui中的combobox吗?效果是酱紫滴: ...
- combobox添加复选框
问题: 需求提出要做一个下拉框可以多选的 解决方案: //机构树 function initOrgTree() { $('#reportOrg').combobox({ width: 200, edi ...
- easyui的combobox将得到的数据设定为下拉框默认值和复选框设定默认值
通过easyui做了一个表,表里是从数据库拿到的数据. 现在双击某一行,通过点击行的id取到这一行的所有数据,现在需要修改这些得到的数据, 其中部分数据是<select>这个选择的, 问题 ...
- 关于easyui combobox下拉框实现多选框的实现
好长时间没有更博了,一是因为最近真的比较忙,二是因为自己是真的偷懒了,哈哈 好啦,这篇博客主要是总结一些关于easyui combobox下拉框实现多选框的实现,包括前台界面的展示,和后台对数据的获取 ...
- Easyui-combobox-checkbox-带复选框的下拉框
$.post("getSubInsuranceTypeList.do",{parent_id:node.id},function(result){ ...
- 20151215单选按钮列表,复选框列表:CheckBoxList
单选框:RadioButton GroupName:组名,如果要实现单选效果每个单选按钮的组名必须一样 是否被选中 RadioButton.checked 单选按钮列表:RadioButtonList ...
- C# easyui datagrid 复选框填充。
具体效果如下: 首页
- freemarker中修改和添加功能中包含checkbox复选框默认选中需求的解决方式
今天做的公司ERP系统上线第一天内部使用的,各种BUG铺天盖地,[虽然只是技术总监一个人在测试……],其中有一个就是其中部门管理页面中的修改和添加功能 一个人做一套ERP总是有点疏漏的,虽然里面的东西 ...
- jQuery分别获取选中的复选框值
function jqchk(){ //jquery获取复选框值 var s=''; $('input[name="aihao"]:checked').each(func ...
随机推荐
- HDU 5818 Joint Stacks(联合栈)
HDU 5818 Joint Stacks(联合栈) Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 65536/65536 K (Ja ...
- So easy Webservice 3.使用HttpClient工具调用Webservice接口
首先,看看webservice服务调用演示: a) 登录http://www.webxml.com.cn b) 单击手机查询服务 c) 选择要调用的方法 例如: getMobileCodeInfo 输 ...
- 3.29考试(HNOI难度)
一. 城镇 [ town ] Memory Limit: 128 MB Time Limit : 1s Description 在 farmer land 上,有 N 个 farmer to ...
- 在SQL Server中 获取日期、日期格式转换
--常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replac ...
- 《Linux内核设计的艺术》学习笔记(六)执行setup.s
参考资料 1. 8259A可编程中断控制器 jmpi , SETUPSEG // 0x90200 到这里,bootsect.s的执行就算结束了.控制权转移到了setup.s文件的手中. setup程序 ...
- 树的计数 + prufer序列与Cayley公式 学习笔记
首先是 Martrix67 的博文:http://www.matrix67.com/blog/archives/682 然后是morejarphone同学的博文:http://blog.csdn.ne ...
- 初识redis——mac下搭建redis环境
一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...
- hadoop 入门实例【转】
原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 1.数据去重 "数据去重"主要是为了掌握 ...
- jQuery数组的遍历 function的加载
加载函数时会被覆盖在jQuery中给提供的方案有三种形式 js中只能绑定一个方法 如果多次绑定后者会覆盖前者 最常用的一种 在jQuery中数组的遍历 使用map遍历数组 会返回一个新的数组 如果 ...
- 手把手ssm+idea
https://github.com/judasn/Basic-Multi-Module-SSM https://github.com/liyifeng1994/ssm