抓取选定行的ID以在jqgrid中显示带有自定义按钮的fancybox小部件

时间:2011-09-12 01:22:43

标签: jqgrid

我正在尝试使用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"
                });

1 个答案:

答案 0 :(得分:0)

the answer。它显示了如何获取所需的jqGrid的'selrow'参数。如果是多选方案(multiselect: true),则应使用'selarrrow'参数。

navButtonAdd的唯一参数是来自click事件的event object(请参阅jqGrid code)。由于点击位于您的自定义按钮,因此它为您带来的信息非常少。例如,如果单击按钮与 Ctrl Shift 或按下某些其他键,则可以使用该事件来实现不同的操作。在所有标准方案中,您必须使用'selrow''selarrrow'参数。

您应该小心,因为即使没有选择任何行,也可以单击自定义按钮。如果'selrow'参数的值为null'selarrrow'的值为空数组[])。

您可以考虑根据是否选择了哪一行来实现隐藏/显示或启用/禁用某些导航按钮。查看来自thisthis旧答案的thisthis演示。