自定义jqGrid中的“添加/编辑”对话框

时间:2011-06-27 15:25:06

标签: javascript jquery jquery-ui jqgrid

抱歉,我无法发布图片,我太新了。

在jqGrid添加/编辑对话框中,我想根据之前的选择加载可选项列表。在上图中,应根据条件选择中选择的值加载值选择。我相信要走的路线是在editoptions对象中使用dataurl但我在这方面遇到了问题。令人不安的第一个问题是基于文档here,当标准值发生变化时,似乎没有可触发的事件可以让我更新值列表。

另外,我对如何从ajax请求返回数据感到困惑。在文档中说:

  

设置editoptions dataUrl参数editoptions dataUrl参数仅对edittype:select元素有效。 dataUrl参数表示应从中获取html select元素的url。   设置此选项后,元素将填充AJAX请求中的值。数据应该是一个有效的HTML select元素,带有所需的选项“

这是否意味着我需要生成html并将其作为响应的一部分返回?以前我用json传递了所有数据。

1 个答案:

答案 0 :(得分:7)

jqGrid在editoptions中没有简单的依赖选择支持。因此实现是必须在主选择上使用change事件来手动更新第二个(从属)选择的选项列表。

the demo中,您将了解如何实施相关选择。我在演示'local'数据类型中使用,因此设置value而不是editoptions的{​​{1}}属性,但应该做的主模式保持不变。此外,在演示中,我不仅使用表单编辑,还使用内联编辑。代码在两种情况下都有效。由于jqGrid在表单编辑模式下不支持本地编辑,因此表单的提交不起作用。我可以使用我所描述的技巧here,但代码会更长,并且会包含很多远离你主要问题的东西。所以我决定在提交不起作用的表单中发布代码。

您可以在下面找到演示代码:

dataUrl

更新:有关演示的最新版本,请参阅the answer的“更新2”部分。