easyui datagrid checkbox,easyUI 中 datagrid 怎么取消一个checkbox的选中状态
easyui datagrid checkbox,easyUI 中 datagrid 怎么取消一个checkbox的选中状态详细介绍
本文目录一览: easyui datagrid列设置checkbox,并能获取选中的值?如图
在 easyui datagrid 中设置列为 checkbox 并能获取选中的值,可以按照以下步骤进行操作:
1、在 columns 配置中设置需要显示 checkbox 的列,示例代码如下:
columns:[[
{field:'id',title:'ID',width:80},
{field:'name',title:'Name',width:100},
{field:'gender',title:'Gender',width:100},
{field:'checkbox',title:'',checkbox:true},
]],
在这个示例中,第 4 列设置了 checkbox。
2、在 easyui datagrid 的 toolbar 中添加按钮,并绑定事件,示例代码如下:
toolbar:[{
text:'Get Selected',
iconCls:'icon-search',
handler:function(){
var rows = $('#dg').datagrid('getSelections');
alert(rows.length+' rows are selected.');
}
}]
在这个示例中,添加了一个名为 "Get Selected" 的按钮,点击按钮会获取当前选中的行,并弹出提示框显示选中的行数。
3、在点击按钮时获取选中的行,示例代码如下:
var rows = $('#dg').datagrid('getSelections');
在这个示例中,使用 easyui datagrid 的 getSelections 方法获取选中的行数据。
4、在获取选中的行后,可以对这些行进行后续的操作,例如对每行进行遍历,获取某一列的值,示例代码如下:
for(var i=0; i
<rows.length; i++){
var row = rows[i];
console.log(row.id); // 获取 id 列的值
}
在这个示例中,使用 for 循环遍历选中的行数据,然后使用 row.id 获取 id 列的值。
以上就是在 easyui datagrid 中设置列为 checkbox 并能获取选中的值的操作步骤。
您好!要在EasyUI DataGrid中设置列为checkbox,并获取选中的值,您可以按照以下步骤进行:
在DataGrid的列设置中,添加一列类型为checkbox的列,代码如下:
htmlCopy code
| 列1 | 列2 | 列3 |
|---|
在这个示例中,我们创建了一个带有checkbox列的DataGrid。注意,我们将singleSelect设置为false以允许多选。
获取选中的值:
要获取选中的值,您可以使用DataGrid的getChecked方法。示例如下:
javascriptCopy codevar selectedRows = $('#datagrid').datagrid('getChecked');selectedRows将包含一个包含所有选中行的对象数组。然后,您可以遍历这个数组并获取所需的数据。例如,如果您想获取选中行的field1值,可以这样做:
javascriptCopy codefor (var i = 0; i < selectedRows.length; i++) { var fieldValue = selectedRows[i].field1; console.log('Field1 value of selected row ' + (i + 1) + ': ' + fieldValue);}这样,您就可以设置checkbox列并获取选中的值了。祝您使用愉快!如果答案满意,请采纳回答,谢谢!
可以通过EasyUI datagrid的columns属性设置列为checkbox,同时也可以通过EasyUI datagrid的getChecked方法获取选中的值。
下面是一个示例代码:
<table id="dg" class="easyui-datagrid" style="width:700px;height:250px"
url="get_data.php"toolbar="#toolbar" pagination="true"rownumbers="true" fitColumns="true" singleSelect="true">
在上述示例中,通过在checkbox列上添加checkbox="true"属性来指定该列为checkbox列。
然后,在JavaScript代码中,可以通过以下方式获取选中的行:
var selectedRows = $('#dg').datagrid('getChecked');
这将返回一个数组,包含所有选中的行的数据。
html:
js:
// 创建Datagrid
$('#dg').datagrid({
url: 'data.php',
columns: [[
{field:'id',title:'ID'},
{field:'name',title:'Name'},
{field:'selected',title:'Selected',checkbox:true},
]],
toolbar: [{
text: 'Get Selected',
iconCls: 'icon-search',
handler: function(){
var rows = $('#dg').datagrid('getChecked');
alert(rows.length+' rows are selected.');
// 这里可以处理选中行的数据
}
}]
});
求教一个easyui的问题 datagrid中怎么加复选框
是不是在最前面加复选框?如果是有两种方法:
一:
columns : [ [{ field : 'ck', checkbox : true }, {field : 'id', title : '编号' }]]二:
columns : [ [ { field : 'id', title : '编号', checkbox : true }]]
1、在创建的web项目新建静态页面,并将EasyUI核心CSS和JavaScript文件,注意文件引入的先后顺序。
2、在body插入树形结构数据,设置树容器ID,这里利用的是树的种类来作为树的数据源。
3、为了使单选树改成复选树,需要设置tree的属性checkbox为true,表示可以多选。
4、在tree控件下方插入一个按钮,使用点击事件用于获取tree控件选中的文本内容。
5、下面编写按钮点击事件,获取tree控件选中的节点,并遍历选中树节点打印出节点内容。
6、预览静态页面,点击“选取选中值”按钮,这时会在浏览器下方打印出选中复选框的树节点值。
怎么控制easyui datagrid checkbox全选按钮
CheckBox控件有个一CheckedChanged 事件,就是CheckBox控件的“选中”状态发生改变的时候会触发的,在这个事件中,加上如下的代码基本上也就差不多了
if(CheckBox.checked)
{
datagrid.items.checked=true;
}
(代码没调试过,自己去调试)
附:datagrid.items.count 函数可以得到里面的具体列表数
for(i=0,i
<datagrid.items.count,i++)
{
datagrid.item[ i ].checked=true;
}
可以用这个for 循环将所有的选中
</datagrid.items.count,i++)
easyUI 中 datagrid 怎么取消一个checkbox的选中状态
EasyUI datagrid 选择多行的方法:
SingleSelect:false,即可实现选择多行。
【解析】
原因分析:
datagrid 中的 idField 属性,必须对应后台的实体属性字段,而且该字段必须确保唯一性,一般用id标识,否则就无法获取在datagrid中选择的多条记录。
DataGrid组件包括2个方法检索选择行数据:
· getSelected: 得到第一个选择行的数据,如果没有选择行则返回null否则返回该记录。
· getSelections:得到全部的选择行的数据,如果元素是记录的话,返回数组数据。
jquery easyui datagrid 怎么设置checkbox列属性
纯粹做个记录,以免日后忘记该怎么设定。
这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数据列的 Checkbox 设定为 Checked,另外就是两种 Checkbox 设定方式下如何取得有勾选的数据。
有关 jQuery EasyUI DataGrid 的相关资料,可以前往官网查看,
jQuery EasyUI 官网
jQuery EasyUI Documentation
DataGrid Demo
CheckBox select on DataGrid
使用的范例 JSON 数据:
view source print ?
01. {
02. "total" : 4,
03. "rows" : [
04. {
05. "productid" : "FI-SW-01" ,
06. "productname" : "Koi" ,
07. "unitcost" : 10.00,
08. "status" : "P" ,
09. "listprice" : 36.50,
10. "attr1" : "Large" ,
11. "itemid" : "EST-1" ,
12. "checked" : true
13. },
14. {
15. "productid" : "K9-DL-01" ,
16. "productname" : "Dalmation" ,
17. "unitcost" : 12.00,
18. "status" : "P" ,
19. "listprice" : 18.50,
20. "attr1" : "Spotted Adult Female" ,
21. "itemid" : "EST-10" ,
22. "checked" : true
23. },
24. {
25. "productid" : "RP-SN-01" ,
26. "productname" : "Rattlesnake" ,
27. "unitcost" : 12.00,
28. "status" : "P" ,
29. "listprice" : 38.50,
30. "attr1" : "Venomless" ,
31. "itemid" : "EST-11" ,
32. "checked" : true
33. },
34. {
35. "productid" : "RP-SN-01" ,
36. "productname" : "Rattlesnake" ,
37. "unitcost" : 12.00,
38. "status" : "P" ,
39. "listprice" : 26.50,
40. "attr1" : "Rattleless" ,
41. "itemid" : "EST-12" ,
42. "checked" : false
43. }
44. ]
45. }
设定方式一:使用预设的设定方式
网页的 HTML 原始码内容
view source print ?
01. < body >
02. < h2 >Custom CheckBox on DataGrid
03.
04. < input type = "button" id = "ButonGetCheck" value = "Get Checked" />
05. < br />< br />
06.
07. < table id = "dg" >
08.
09.
我是习惯把 DataGrid 的相关设定放在 Javascript 程序中,因为这会比直接在 HTML 的 Table Tag 使用属性设定的方式还具有弹性,
Javascript 程序中的 DataGrid 设定
view source print ?
01. $( '#dg' ).datagrid({
02. title: 'CheckBox Selection on DataGrid' ,
03. url: 'datagrid_data3.json' ,
04. width: '700' ,
05. rownumbers: true ,
06. columns:[[
07. { field: 'ck' ,checkbox: true },
08. { field: 'productid' , title: 'productid' },
09. { field: 'productname' , title: 'productname' },
10. { field: 'unitcost' , title: 'unitcost' },
11. { field: 'status' , title: 'status' },
12. { field: 'listprice' , title: 'listprice' },
13. { field: 'itemid' , title: 'itemid' }
14. ]],
15. singleSelect: false ,
16. selectOnCheck: true ,
17. checkOnSelect: true
18. });
设定完成后的页面如下:
但是我们的 JSON 数据里有个字段是「checked」,这个字段的数据 true / false 就是用来设定 Checkbox 是否勾选,而设定的动作必须要在 DataGrid 加载数据完成后再去执行,这边会使用到 jQuery 的 each 去逐一检查每个数据列的的数据内容,假如 checked 为 true,那就使用「checkRow」这个 Method 将该数据列的 Checkbox 设为勾选的状态,
修改后的 DataGrid 设定程序如下:
view source print ?
01. $( '#dg' ).datagrid({
02. title: 'CheckBox Selection on DataGrid' ,
03. url: 'datagrid_data3.json' ,
04. width: '700' ,
05. rownumbers: true ,
06. columns:[[
07. { field: 'ck' ,checkbox: true },
08. { field: 'productid' , title: 'productid' },
09. { field: 'productname' , title: 'productname' },
10. { field: 'unitcost' , title: 'unitcost' },
11. { field: 'status' , title: 'status' },
12. { field: 'listprice' , title: 'listprice' },
13. { field: 'itemid' , title: 'itemid' }
14. ]],
15. singleSelect: false ,
16. selectOnCheck: true ,
17. checkOnSelect: true ,
18. onLoadSuccess: function (data){
19. if (data){
20. $.each(data.rows, function (index, item){
21. if (item.checked){
22. $( '#dg' ).datagrid( 'checkRow' , index);
23. }
24. });
25. }
26. }
27. });
重新执行页面后就可以看到 checked 为 true 的数据列 Checkbox 都为勾选,
再来就是要取得勾选的数据值,这边也是使用 DataGrid 所提供的 Method「getChecked」 www.it165.net
程序如下:
view source print ?
1. $( '#ButonGetCheck' ).click( function (){
2. var checkedItems = $( '#dg' ).datagrid( 'getChecked' );
3. var names = [];
4. $.each(checkedItems, function (index, item){
5. names.push(item.productname);
6. });
7. console.log(names.join( "," ));
8. });
最后的执行结果:
方式一的完整 Javascript 程序:
view source print ?
01. $( '#dg' ).datagrid({
02. title: 'CheckBox Selection on DataGrid' ,
03. url: 'datagrid_data3.json' ,
04. width: '700' ,
05. rownumbers: true ,
06. columns:[[
07. { field: 'ck' ,checkbox: true },
08. { field: 'productid' , title: 'productid' },
09. { field: 'productname' , title: 'productname' },
10. { field: 'unitcost' , title: 'unitcost' },
11. { field: 'status' , title: 'status' },
12. { field: 'listprice' , title: 'listprice' },
13. { field: 'itemid' , title: 'itemid' }
14. ]],
15. singleSelect: false ,
16. selectOnCheck: true ,
17. checkOnSelect: true ,
18. onLoadSuccess: function (data){
19. if (data){
20. $.each(data.rows, function (index, item){
21. if (item.checked){
22. $( '#dg' ).datagrid( 'checkRow' , index);
23. }
24. });
25. }
26. }
27. });
28.
easyui 判断datagrid 的 checkbox 是否选中
在html的checkbox里,选中的话会有属性checked=checked。
如果用一个checkbox被选中,alert这个checkbox的属性checked的值alert($#xxx.attr(checked)),会打印出true,而不是checked!
如果没被选中,打印出的是undefined。
不要尝试去做这样的判断:if($#xxx.attr(checked)==true)或者if($#xxx.attr(checked)=='checked')
应该是if($(#checkbox1).attr(checked)==true)
全选和全不选函数
function checkAll(){
if($(#checkbox1).attr(checked)==true){
$(input[name='xh']).each(function() {
checkbox不能用于多选是否正确
checkbox不能用于多选是否正确?
不正确。分析原因,可以通过修改,实现多选。
easyUI datagrid checkbox 不能提交多选 原因分析。
huanghongqiao
2021-05-01 19:45:31阅读 413
原因分析过程如下:
<table id="tb" class="easyui-datagrid" toolbar="#tool"
title="学习" selectOnCheck = "false" singleSelect="false" idField="kid">
今天使用easyUI做一个小东西,datagrid定义如上,但是提交数据的时候、 虽然选择了所有的checkbox都打上勾,但是提交到服务器的时候,发现只有最后一个点击的才是真正选择了的,其他的都变成未选。在网上搜罗好久,都没有搜到满意答案、也没有人给个解答,只好慢慢翻easyUI源码了。
翻了几个小时、最终决定从 datagrid 的 getChecked 方法下手:
搜索到如下代码:
getChecked:function(jq){
return _555(jq[0]);
来到这里:
function _555(_556){
var _557=$.data(_556,"datagrid");
var opts=_557.options;
console.log(opts);
if(opts.idField){
return _557.checkedRows;
}else{
var rows=[];
opts.finder.getTr(_556,"","checked").each(function(){
rows.push(opts.finder.getRow(_556,$(this)));
});
console.log(rows);
return rows;
}
};
console.log(opts); console.log(rows);
加上这两句,发现 idField 是
easyui的datagrid如何去除复选框
columns 里面的 checkbox:true 去掉
jQuery('#tt').datagrid('clearSelections');
easyui中的datagrid的每一列都有一个checkbox,如何在Java代码中设置checkbox默认为选中状态?
$('#datagrid').datagrid({
..........
align:'center',
width : 50
}
] ],
onLoadSuccess:function(data){
$('#datagrid').datagrid('selectAll');
}
});
你要在你用于返回页面数据的实体类(JavaBean)中添加一个Boolean checked的属性,再你把希望选中的数据的这个checked属性set设为true,就可以了。如果不明白的可以追问!