Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我们可以操纵jqgrid分配的id吗?_Javascript_Jquery_Jqgrid_Tabs_Datepicker - Fatal编程技术网

Javascript 我们可以操纵jqgrid分配的id吗?

Javascript 我们可以操纵jqgrid分配的id吗?,javascript,jquery,jqgrid,tabs,datepicker,Javascript,Jquery,Jqgrid,Tabs,Datepicker,我有3个jquery选项卡,它们用不同的数据加载相同的jqgrid结构。 我在jqgrid中有一个过滤器工具栏。这些字段中有两个是日期字段,所以我有一个日期选择器供用户选择过滤日期 日期选择器在第一个选项卡的网格中工作正常,但在其他选项卡中中断。未在搜索字段中填充所选日期 以下是选项卡和网格的外观: 在Pending选项卡中,日期选择器工作正常。但在“已批准”和“附加步骤”选项卡中中断 我注意到jqgrid为日期搜索字段分配的id对于所有三个选项卡中的网格都是相同的。当我单击第二个选项卡和网格

我有3个jquery选项卡,它们用不同的数据加载相同的jqgrid结构。 我在jqgrid中有一个过滤器工具栏。这些字段中有两个是日期字段,所以我有一个日期选择器供用户选择过滤日期

日期选择器在第一个选项卡的网格中工作正常,但在其他选项卡中中断。未在搜索字段中填充所选日期

以下是选项卡和网格的外观:

在Pending选项卡中,日期选择器工作正常。但在“已批准”和“附加步骤”选项卡中中断

我注意到jqgrid为日期搜索字段分配的id对于所有三个选项卡中的网格都是相同的。当我单击第二个选项卡和网格时,由于第一个选项卡的网格在DOM中,是否可能会中断日期选择器?有什么想法吗

更新:

 { name: 'vpReportDate', index: 'vpReportDate',datefmt:"m/d/Y", sorttype:"date", width: 65, searchoptions:{dataInit:showDatePicker}, sortable:true },

我还将jQGrid与jqueryui选项卡一起使用,并且我已经了解到了每个网格都需要不同的列名/索引,因为它们可以同时位于DOM中

您可以通过以下操作更改搜索字段的ID:

$("#tabs-tabID #gs_vpReportDate").attr("id", "#gs_vpReportDate_2");
将选项卡tabID更改为jqueryui选项卡的ID

但是,这会中断搜索功能,因为您正在更改jQGrid的默认设置

这里真正的问题不是datepicker的ID,而是每个网格上所有搜索字段的ID都是相同的,因为colModel中的名称/索引在每个选项卡中都是相同的

虽然您可能不喜欢听到这种说法,但最安全的做法是更改每个网格中每列的名称/索引,这将在将来为您省去很多麻烦。由于这些网格将同时驻留在DOM中,因此不能在colModel中重复名称/索引,否则类似的情况将继续困扰您

在我自己的工作中,我会做的和已经做的只是在每个列的每个名称的前面加上一些东西,而不仅仅是colModel中的日期列。像这样:

挂起网格:

name: 'pending_vpReportDate', index: 'vpReportDate'
核准电网:

name: 'approved_vpReportDate', index: 'vpReportDate'
其他步骤包括:

name: 'additional_vpReportDate', index: 'vpReportDate'

我还将jQGrid与jqueryui选项卡一起使用,并且我已经了解到了每个网格都需要不同的列名/索引,因为它们可以同时位于DOM中

您可以通过以下操作更改搜索字段的ID:

$("#tabs-tabID #gs_vpReportDate").attr("id", "#gs_vpReportDate_2");
将选项卡tabID更改为jqueryui选项卡的ID

但是,这会中断搜索功能,因为您正在更改jQGrid的默认设置

这里真正的问题不是datepicker的ID,而是每个网格上所有搜索字段的ID都是相同的,因为colModel中的名称/索引在每个选项卡中都是相同的

虽然您可能不喜欢听到这种说法,但最安全的做法是更改每个网格中每列的名称/索引,这将在将来为您省去很多麻烦。由于这些网格将同时驻留在DOM中,因此不能在colModel中重复名称/索引,否则类似的情况将继续困扰您

在我自己的工作中,我会做的和已经做的只是在每个列的每个名称的前面加上一些东西,而不仅仅是colModel中的日期列。像这样:

挂起网格:

name: 'pending_vpReportDate', index: 'vpReportDate'
核准电网:

name: 'approved_vpReportDate', index: 'vpReportDate'
其他步骤包括:

name: 'additional_vpReportDate', index: 'vpReportDate'

jqGrid实际上为datepicker字段分配了一个ID?哇,我希望它使用一个类你的VP报告列在你的三个网格中是否都有相同的colModel索引/名称?@FastTrack是的..我已经用相应的代码更新了问题。jqGrid实际上为datepicker字段分配了一个ID?哇,我希望它使用一个类你的VP报告列在你的三个网格中是否都有相同的colModel索引/名称?@FastTrack是的..我已经用相应的代码更新了这个问题。关于这个问题的根本原因,我非常同意你。但是,正如您所建议的那样,通过在列和索引名前面加上一些内容来为列指定不同的名称,在从服务器检索数据时,它将如何工作。它寻找具有colnames的getter方法,对吗?@tarares我完全同意!所以这里是你要做的-只是改变名称而不是索引。索引是传递给服务器的内容-名称是您的输入ID等。。。我刚刚更新了我的答案,但它不起作用。当我将名称:“vpReportDate”更改为“pending_vpReportDate”时,列中没有显示任何数据。。然而,在回复正文中,我可以看到此列的数据。看起来它与名称匹配。关于此问题的根本原因,我非常同意您的看法。但是,正如您所建议的那样,通过在列和索引名前面加上一些内容来为列指定不同的名称,在从服务器检索数据时,它将如何工作。它寻找具有colnames的getter方法,对吗?@tarares我完全同意!所以这里是你要做的-只是改变名称而不是索引。索引是传递给服务器的内容-名称是您的输入ID等。。。我只是更新了我的答案,但没用..当我改变时 将名称“vpReportDate”改为“pendingvpreportdate”,列中不会显示任何数据。。而在响应主体中,我可以看到此列的数据。看起来它与名称匹配。