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 ...
随机推荐
- [Effective Java]第五章 泛型
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Android——GridLayout
转载自http://www.cnblogs.com/over140/archive/2011/12/08/2280224.html 欢迎大家转载 前言 本章内容android.widget.GridL ...
- Jsoup:解决java.net.UnknownHostException的问题
Jsoup:解决java.net.UnknownHostException的问题 时间 2013-06-20 11:23:08 CSDN博客 原文 http://blog.csdn.net/xyw ...
- hdu4717The Moving Points(三分)
链接 需要特判一下n=1的时候 精度调太低会超时 #include <iostream> #include<cstdio> #include<cstring> #i ...
- mysql 循环控制
1.使用whileDROP PROCEDURE IF EXISTS `addstudent`;DELIMITER ;;CREATE PROCEDURE `addstudent`(iNum int)BE ...
- mysql delimiter
默认情况下,mysql遇到分号; 就认为是一个命令的终止符, 就会执行命令.而有些时候,我们不希望这样,比如存储过程中包含多个语句,这些语句以分号分割,我们希望这些语句作为一个命令,一起执行,怎么解决 ...
- 用命令访问D:\python学习\wendjia教程\aa.py
用命令访问D:\python学习\wendjia教程\aa.py d: -----------切换到D盘 cd python学习\wend ...
- 深入浅出RxJava(一:基础篇)
RxJava正在Android开发者中变的越来越流行.唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言.但是一旦你弄明白了,你就会发现RxJava真是太棒了. 这里仅仅是帮助你了解R ...
- SSM框架——以注解形式实现事务管理
上一篇博文<SSM三大框架整合详细教程>详细说了如何整合Spring.SpringMVC和MyBatis这三大框架.但是没有说到如何配置mybatis的事务管理,在编写业务的过程中,会需要 ...
- spring中的Log4jConfigListener作用和webapp.root的设置
转:http://blog.sina.com.cn/s/blog_7bbf356c01016wld.html 使用spring中的Log4jConfigListener有如如下好处: 1. 动 ...