我正在尝试使用jqgrid中的自定义按钮调出fancybox小部件。为此,我需要获取所选行的Id。我目前正在尝试这样做。它不起作用。自定义按钮显示,它响应click事件,但我无法获得所选的id。谁能帮我吗?感谢!!!
jQuery("#list").jqGrid('navGrid','#pagernav',
{edit:true,add:false,del:false,search:false},
{
height:280,
reloadAfterSubmit:true,
closeAfterEdit:true,
editCaption: "Edit Sample",
bSubmit: "Submit",
bCancel: "Cancel",
bClose: "Close",
checkOnSubmit:true,
saveData: "Data has been changed! Save changes?",
bYes : "Yes",
bNo : "No",
bExit : "Cancel"
}
).jqGrid('navButtonAdd','#pagernav',{
caption:"Add",
buttonicon:"ui-icon-add",
onClickButton: function(lastsel){
alert("Adding Row to id" + lastsel);
},
position:"last"
});
答案 0 :(得分:0)
看the answer。它显示了如何获取所需的jqGrid的'selrow'
参数。如果是多选方案(multiselect: true
),则应使用'selarrrow'
参数。
navButtonAdd的唯一参数是来自click
事件的event object(请参阅jqGrid code)。由于点击位于您的自定义按钮,因此它为您带来的信息非常少。例如,如果单击按钮与 Ctrl 或 Shift 或按下某些其他键,则可以使用该事件来实现不同的操作。在所有标准方案中,您必须使用'selrow'
或'selarrrow'
参数。
您应该小心,因为即使没有选择任何行,也可以单击自定义按钮。如果'selrow'
参数的值为null
('selarrrow'
的值为空数组[]
)。
您可以考虑根据是否选择了哪一行来实现隐藏/显示或启用/禁用某些导航按钮。查看来自this和this旧答案的this和this演示。