我正在使用jqGrid将Json对象转换为常规HTML表格。从服务器我得到的对象,除了一件事情,一切都很好。我添加了一个实际上是复选框列的列。在每个复选框输入的值属性中,如果复选框被选中,我会将ID传递回服务器。jqGrid随机抽取复选框列
$("#membersGrid").jqGrid({
url: '/Member/GetAllMembers',
mtype: "GET",
styleUI: 'Bootstrap',
datatype: "json",
colModel: [
{ label: 'Full Name', name: 'fullName', width: 150 },
{
label: 'Select', editable: true, name: 'id',
edittype: 'checkbox', editoptions: { value: "true:false", defaultValue: "false" },
formatter: "checkbox", formatoptions: { disabled: false }, width: 45
}
],
viewrecords: true,
height: 250,
width: 640,
rowNum: -1,
ajaxSubgridOptions: { async: false },
});
当我定义真或假,并用默认值我想指出,假(未选中)为每个默认值,并用每复选框产生的细胞值产生复选框列。
但相反我得到随机托运的复选框:
当我在Chrome检查元素,未经检查的类型用这种方式自动生成:
<td role="gridcell" style="" title="" aria-describedby="membersGrid_id">
<input type="checkbox" value="400" offval="no">
</td>
,并检查型像这样:
<td role="gridcell" style="" title="" aria-describedby="membersGrid_id">
<input type="checkbox" checked="checked" value="399" offval="no">
</td>
有没有其他方法可以告诉jqGrid避免使用defaultValue
属性检查复选框?或者我做错了什么?
看来你使用商业[Guriddo jqGrid JS](http://guriddo.net/?page_id=103334)。我无法帮助您,但我建议您尝试使用[免费jqGrid](https://github.com/free-jqgrid/jqGrid)fork,这是我开发的。您需要将'styleUI:'Bootstrap''参数更改为'guiStyle:“bootstrap”'(或'guiStyle:“bootstrapPrimary”')(请参阅[文章](https://free-jqgrid.github.io/getting -started/index.html#bootstrap))并修改用于将jqGrid文件加载到CDN URL的URL(请参阅[Wiki文章](https://github.com/free-jqgrid/jqGrid/wiki/Access- free-jqGrid-from-different-CDNs)) – Oleg
如果免费的jqGrid 4.14.0中存在相同的问题,那么我需要从服务器返回的测试JSON数据('/ Member/GetAllMembers')才能够重现问题。 – Oleg
@Oleg感谢您的回复。我注意到一个有趣的事实。当我删除名称:基本上定义复选框的值属性的'id'属性时,所有复选框都未选中。当我将它归还时,它会再次进行随机检查。我不确定如果复选框被选中,名称属性会如何影响... –