gpt4 book ai didi

jquery - 在jqgrid中如何选中行选择上的复选框?

转载 作者:行者123 更新时间:2023-12-03 23:00:58 24 4
gpt4 key购买 nike

我的 jqGrid 有以下代码,我想选择一行和要选中的相应复选框,如果我再次单击同一行,则该复选框应该被禁用,我该如何实现这一点?我还提供了一个快照。

var xmlDoc = $.parseXML(xml); 
$('#configDiv').empty();
$('<div width="100%">')
.attr('id','configDetailsGrid')
.html('<table id="list1" width="100%"></table>'+
'<div id="gridpager"></div>'+
'</div>')
.appendTo('#configDiv');

var grid = jQuery("#list1");

grid.jqGrid({

datastr : xml,
datatype: 'xmlstring',
colNames:['cfgId','','Name', 'Host', 'Description','Product', 'Type', 'Last Updated Time','Last Updated By',''],
colModel:[
{name:'cfgId',index:'cfgId', width:90, align:"right", hidden:true},
{name:'',index:'', width:15, align:"right",edittype:'checkbox',formatter: "checkbox",editoptions: { value:"True:False"},editable:true,formatoptions: {disabled : false}},
{name:'cfgName',index:'cfgName', width:90, align:"right"},
{name:'hostname',index:'hostname', width:90, align:"right"},
{name:'cfgDesc',index:'cfgDesc', width:90, align:"right"},
{name:'productId',index:'productId', width:60, align:"right"},
{name:'cfgType',index:'cfgType', width:60, align:"right"},
{name:'updateDate',index:'updateDate',sorttype:'Date', width:120, align:"right"},
{name:'emailAddress',index:'emailAddress', width:120, align:"right"},
{name:'absolutePath',index:'absolutePath', width:90, align:"right", hidden:true},
],
pager : '#gridpager',
rowNum:10,
scrollOffset:0,
height: 'auto',

autowidth:true,
viewrecords: true,
gridview: true,
xmlReader: {
root : "list",
row: "com\\.abc\\.db\\.ConfigInfo",
userdata: "userdata",
repeatitems: false
},
onSelectRow: function(id,status){
var rowData = jQuery(this).getRowData(id);
configid = rowData['cfgId'];
configname=rowData['cfgName'];
configdesc=rowData['cfgDesc'];
configenv=rowData['cfgType'];

if(status==true)
{

}

rowChecked=1;
currentrow=id;
},
onCellSelect: function(rowid, index, contents, event) {
if(index==2)
{

$(xmlDoc).find('list com\\.abc\\.db\\.ConfigInfo').each(function()
{
//alert($(this).find('cfgId').text()+" "+configid);
if($(this).find('cfgId').text()==configid)
{
configname=$(this).find('cfgName').text();
configdesc=$(this).find('cfgDesc').text();
configenv=$(this).find('cfgType').text();
filename=$(this).find('fileName').text();
updatedate=$(this).find('updateDate').text();
absolutepath=$(this).find('absolutePath').text();
productname=productMap[$(this).find('productId').text()];
}
});

}
}

});
grid.jqGrid('navGrid','#gridpager',{edit:false,add:false,del:false});

enter image description here

已更新

我的onSelectRow

var ch =  jQuery(this).find('#'+id+' input[type=checkbox]').prop('checked');
if(ch) {
jQuery(this).find('#'+id+' input[type=checkbox]').prop('checked',false);
} else {
jQuery(this).find('#'+id+'input[type=checkbox]').prop('checked',true);
}

最佳答案

向您的 onSelectRow 函数添加:

var ch =  jQuery(this).find('#'+id+' input[type=checkbox]').prop('checked');
if(ch) {
jQuery(this).find('#'+id+' input[type=checkbox]').prop('checked',false);
} else {
jQuery(this).find('#'+id+'input[type=checkbox]').prop('checked',true);
}

编辑:将其放在 JS 代码的 和 处,以便在单击复选框时运行选择

$("#list1").find('input[type=checkbox]').each(function() {
$(this).change( function(){
var colid = $(this).parents('tr:last').attr('id');
if( $(this).is(':checked')) {
$("#list1").jqGrid('setSelection', colid );
$(this).prop('checked',true);
}
return true;
});
});

更新:http://jsfiddle.net/tr5RA/14/

关于jquery - 在jqgrid中如何选中行选择上的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com