自己动手写easyui的checkbox
最近项目中用到了easyui这个框架,找了一圈也没有找到checkbox list控件,被迫只能自己实现了,为了便于复用,自己封装了下,有需要的,直接拿去用吧。有意见或建议的,欢迎指教啊。
调用示例
<html>
<head>
<title></title>
<meta charset='utf8'>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="jquery.checkbox.js"></script>
</head>
<body>
<div class='easyui-checkbox' id='test'>
</div>
<div id='showValues'></div>
<div>
<input type='button' id='btnGetValue' value='获取选中值'>
</div> <script type="text/javascript">
$().ready(function function_name (argument) {
//初始化传值
/*$('#test').checkbox({data:[
{text:'星期天',value:'1'},
{text:'星期一',value:'2'},
{text:'星期二',value:'3'}
]});*/
//初始化
$('#test').checkbox();
//setValue设置checkbox项
$('#test').checkbox('setValue',[
{text:'星期天',value:'1'},
{text:'星期一',value:'2'},
{text:'星期二',value:'3'}
]);
//checked设置默认选中项
$('#test').checkbox('checked',['2']); $('#btnGetValue').on('click',function(){
//getValue获取已选择的checkbox项的值
var checked=$('#test').checkbox('getValue'); $('#showValues').html('');
$('#showValues').html(checked.join(','));
});
});
</script>
</body>
</html>
实现源码 jquery.checkbox.js
(function ($) {
function createBox(me, options) {
me.html('');
if(options.data){
$.each(options.data,function(index,item){
me.append('<input type="checkbox" value="'+item.value+'"/>'+item.text);
});
registerEvent(me);
}
}
function registerEvent(me){
$(me).children().on('click',function(){
if($(this).attr('checked')){
$(this).removeAttr('checked');
}else{
$(this).attr('checked','checked');
}
});
}
$.fn.checkbox = function(options, param){
if (typeof options == 'string'){
var method = $.fn.checkbox.methods[options];
if (method){
return method(this, param);
} else {
return this.combo(options, param);
}
}
options = options || {};
createBox(this,options);
};
$.fn.checkbox.methods={
setValue:function(me,para){
me.html('');
createBox(me,{data:para});
},
getValue:function(me,para){
var values=new Array();
$(me).children().each(function(index,item){
if($(item).attr('checked')=='checked'){
values.push($(item).attr('value'));
}
});
return values;
},
checked:function(me,para){
$(me).children().each(function(index,item){
if (para.indexOf($(item).attr('value')) > -1) {
if ($(item).attr('checked') != 'checked') {
$(item).click();
}
} else {
$(item).removeAttr('checked');
}
});
}
};
})(jQuery);
自己动手写easyui的checkbox的更多相关文章
- 【原创】自己动手写控件----XSmartNote控件
一.前面的话 在上一篇博文自己动手写工具----XSmartNote [Beta 3.0]中,用到了若干个自定义控件,其中包含用于显示Note内容的简单的Label扩展控件,用于展示标签内容的labe ...
- 【原创】自己动手写工具----XSmartNote [Beta 3.0]
一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...
- 【原创】自己动手写工具----XSmartNote [Beta 2.0]
一.前面的话 在上一篇自己动手写工具----XSmartNote中,我简单介绍了这个小玩意儿的大致界面和要实现的功能,看了一下园子里的评论,评价褒贬不一,有人说“现在那么多云笔记的工具”,“极简版ev ...
- 【原创】自己动手写工具----签到器[Beta 2.0]
一.前面的话 上一篇中基本实现了简单的签到任务,但是不够灵活.在上一篇自己动手写工具----签到器的结尾中,我设想了几个新增功能来提高工具的灵活程度,下面把新增功能点列出来看看: (1)新增其他的进程 ...
- 自己动手写ORM的感受
之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM ...
- 自己动手写插件底层篇—基于jquery移动插件实现
序言 本章作为自己动手写插件的第一篇文章,会尽可能的详细描述一些实现的方式和预备知识的讲解,随着知识点积累的一点点深入,可能到了后期讲解也会有所跳跃.所以,希望知识点不是很扎实的读者或者是初学者,不要 ...
- Python - 动手写个ORM
Python - 动手写个ORM 任务: 模拟简单的ORM - Object Relational Mapping 为model添加create方法 代码很简单,直接上 字段类型类 class Fie ...
- 【转】自己动手写SC语言编译器
自序 编译原理与技术的一整套理论在整个计算机科学领域占有相当重要的地位,学习它对程序设计人员有很大的帮助.我们考究历史会发现那些人人称颂的程序设 计大师都是编译领域的高手,像写出BASIC语言的BIL ...
- 自己动手写CPU之第九阶段(8)——MIPS32中的LL、SC指令说明
将陆续上传新书<自己动手写CPU>,今天是第47篇. 9.7 ll.sc指令实现思路 9.7.1 实现思路 这2条指令都涉及到訪问链接状态位LLbit,能够将LLbit当做寄存器处理,ll ...
随机推荐
- 88 Merge Sorted Array(归并排序Easy)
题目意思:num1和num2均为递增数组,对其进行递增排序存到num1中 class Solution { public: void merge(vector<int>& nums ...
- PHP mysql 删除表中所有数据只保留一条
DELETE FROM `logs` WHERE wangzhi='www.juhutang.com' and id<>101072; 上面这段代码的意思为 删除表logs中 所有字段wa ...
- S5PV210启动过程分析
一.三星官方推荐方式 1.数据手册<S5PV210_iROM_Application_note>中截取:
- c++内存管理错误记录
extern "C" _CRTIMP int __cdecl _CrtIsValidHeapPointer( const void * pUserData ){ if (!pUse ...
- readn、write、readline
字节流套接字上的read和write函数所表现的行为不同于通常的文件IO 字节流套接字上调用read或write输入或输出的字节数可能比请求的数量少,然而这不是出错的状态 这个现象的原因在于内核中用于 ...
- 查询一周最近一周的数据,date String 随意转换,更有疯狂的排序
--查看一周随访的详情70007PROCEDURE GET_PATIENT_WEEKFU ( userId in NUMERIC, time in date, V_LIST OUT MYCURSOR ...
- out.print和out.write方法
<%@ page language="java" import="java.util.*" %> <%@ page pageEncoding= ...
- 使用thumbnailator 时部分图片抛异常
net.coobird.thumbnailator.tasks.UnsupportedFormatException: No suitable ImageReader found for source ...
- java实现DES加密与解密,md5加密
很多时候要对秘要进行持久化加密,此时的加密采用md5.采用对称加密的时候就采用DES方法了 import java.io.IOException; import java.security.Messa ...
- POJ1159 Palindrome(dp)
题目链接. 分析: 感叹算法的力量. 方法一: 设 dp[i][j] 为字符串 s, 从 i 到 j 需要添加的最少字符数. 那么如果 s[i] == s[j], dp[i][j] = dp[i+1] ...