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

时间:2014-11-17 07:40:41

标签: combobox jqgrid dropdownbox advanced-search

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

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

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

enter image description here

优点:之前用户选择的值已存在且未清除。

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

缺点:添加新条件时,之前选择的用户值已被清除(无法接受,因为它不是用户友好的,请参阅网址:the selected value was cleared in dropdown after add new criteria in jqgrid advanced searching

优点:当页面刷新时,数据已加载到页面中,仅一次。

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

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

任何人都可以分享有关这些问题的最佳做法。感谢。

1 个答案:

答案 0 :(得分:0)

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

如果使用第一个选项,可以设置HTTP缓存标头以防止向dataUrl发出多个请求。

关于最后一个选项:例如,可以在searchoptions.value内设置beforeProcessing 动态。请参阅the answerthis onethis one