Jquery ui 无法选择子网格中的行:Jqgrid
我正在使用jqgrid,并在其中添加了一个子网格,如下所示 如你所见, 列为11和13的行是主网格行 每行都有感兴趣的子网格, addrecord元素显示子网格的Add弹出窗口 下面是子网格的代码Jquery ui 无法选择子网格中的行:Jqgrid,jquery-ui,jquery,jquery-plugins,jqgrid,Jquery Ui,Jquery,Jquery Plugins,Jqgrid,我正在使用jqgrid,并在其中添加了一个子网格,如下所示 如你所见, 列为11和13的行是主网格行 每行都有感兴趣的子网格, addrecord元素显示子网格的Add弹出窗口 下面是子网格的代码 subGridRowExpanded: function(subgrid_id, row_id) { var subgrid_table_id, pager_id; subgrid_table_id = subgrid_id+"_t";
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id, pager_id;
subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
jQuery("#"+subgrid_table_id).jqGrid({
url:"shops?q=2&ShopID="+row_id,
datatype: "xml",
colNames: ['Interest'],
colModel: [
//{name:"Id",index:"ShopID",width:80,editable:false,editoptions:{readonly:false,size:40}}, //Shop ID not required
{name:"id",index:"id",editable:true,edittype:"select",editoptions:{dataUrl:'shops?q=3&ShopID='+row_id},editrules:{required:true}}
],
rowNum:10,
pager: pager_id,
width: '100%',
height: '100%',
scrollOffset: 0,
sortname: 'num',
sortorder: "asc",
height: '100%',
editurl:'shops?q=5&ShopID='+row_id
});
jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:true,del:true})
},
subGridRowColapsed: function(subgrid_id, row_id) {
// this function is called before removing the data
//var subgrid_table_id;
//subgrid_table_id = subgrid_id+"_t";
//jQuery("#"+subgrid_table_id).remove();
}
问题是,当子网格中有多个元素时,我可以选择使用最新版本的Chrome,但当子网格中只有一个元素时,如果您注意到颜色差异,我可以选择它。请参阅子网格元素“礼物”-选择在第13行下面,一旦选择“礼物”,可以删除
更新:
在firefox和IE中,只从子网格中选择第一行
代码中有什么错误吗?为什么子网格中有多个图元时不能选择单个图元
感谢您抽出时间,谢谢我想您的身份证副本有问题。HTML不允许在具有相同值的相同HTML页面上使用id属性。所有id属性的值都必须是唯一的。我建议您使用Chrome/IE开发工具或Firebug来验证是否存在问题。您只需检查栅格和子栅格元素上的id属性 另一方面,jqGrid的所有行和所有元素都成为分配的id属性。通常,您必须在url的响应中在服务器端填写id。问题是,通常使用来自数据库id的值,但通常只有数据库中一个表的唯一id,而不是数据库中的所有表的唯一id。因此,您可以很容易地看到这样一个场景:多个jqGrids或带有subrird的grid获得id重复的行
解决此问题最简单的方法是使用idPrefix选项,该选项在jqGrid之后引入。主要优点是,您可以继续使用数据库中的原始id值,并在jqGrid中使用id属性,这将是唯一的,因为从服务器返回的id值生成id属性,但使用前缀。在里面因此,我建议您对所有子网格使用不同的IDPrefix。例如,您可以在子网格中使用idPrefix:'s'+行\u id+'\请参见和。谢谢,您是对的,实际上子网格元素的id是相同的,问题是,我使用该id作为主键,我需要使用一些组合来唯一标识每一行,我试试看this@pradeep:如果您添加的idPrefix值在每个网格和子网格中都会有所不同,则问题应该得到解决。非常感谢!,没有你们这样的家伙,我们如何生存:我在服务器端修改了前缀,使每个子网格行都有唯一的id