0

在 jqgrid 高级搜索中动态填充下拉选项的最佳方法是什么?

1)第一种方式:使用“searchoptions”的“dataUrl”选项

缺点:当用户添加新的条件,并选择属性时,dataUrl 被发布到服务器,当用户再次添加相同的条件时,dataUrl 被再次发布到服务器,并且两次。很奇怪。

在此处输入图像描述

优点:用户之前选择的值在那里并且没有被清除。

2)第二种方式:使用“searchoptions”的“dataInit”选项

缺点:用户之前选择的值在添加新条件时被清除(不能接受,因为它不友好,请参考url:在jqgrid高级搜索中添加新条件后,下拉列表中选择的值被清除

优点:页面刷新时数据被加载到页面中,并且只有一次。

3)第三种方式,使用“searchoptions”的“value”选项

但它不是动态的,只是在页面中硬编码。

任何人都可以分享有关这些问题的最佳实践。谢谢。

4

1 回答 1

0

我从第二个选项开始。我想你dataInit以错误的方式使用。初始化控件的目标dataInit,例如转换<select>为 select2 或在文本输入元素上设置 jQuery UI Autocomplete 或 jQuery UI Datepicker。应该用值填充控件。选择控件在调用之前已经创建和填充dataInit

如果使用第一个选项,则可以设置 HTTP 缓存标头以防止对dataUrl.

关于最后一个选项:例如可以在内部searchoptions.value 动态设置。beforeProcessing答案这个这个

于 2014-11-17T08:23:00.447 回答