【发布时间】:2015-03-30 08:38:27
【问题描述】:
我正在尝试使用一些 input type="text" 和 select 控件设置自定义搜索,以提供使用 ajax 发布到
ActionResult MethodName(JqGridRequest request, PerfilSearchViewModel viewModel) 并应用它的过滤逻辑。
我注意到服务器端助手上的JqGridRequest request.search 属性仅在使用内置jqgrid search icon 时才转到true。
我已经设置并分析了来自http://tpeczek.codeplex.com/documentation 的示例,但我还必须在不使用玻璃图标的情况下使它们工作,因为没有它就没有示例。
这是另一个:How to pass a jQuery object as a parameter into jqGrid using the lib.web.mvc namespace,其中创建了一个要发布到服务器的对象,但由于请求搜索属性是 false 也使用不同的按钮和控件,我无法使用过滤部分帮手。
如果有人能告诉我使用我的自定义搜索控件实现过滤的方法,我将不胜感激。
谢谢。
更新:我成功地设置了一个 javascript 函数,该函数允许我控制在我的按钮单击时执行自定义搜索:
function mySearch() {
$('#profiles').jqGrid('setGridParam', { search: true });
$('#profiles').trigger("reloadGrid", [{ page: 1, current: true }]);
}
在Lib.Web.Mvc JQGrid helper 上,我有一个参数可以使用它发布一个值:
postDataScript: "{ Name: 'profile'}"
后者当然是一个静态值,所以我知道我可以使用这个变体使其成为动态值:
postDataScript: "function() { return { Name: $('#filter').val() }; }"
对于静态值有效,但对于使用val() 调用的动态值在控制器上始终为空。
您能告诉我如何才能发布输入的值吗?
【问题讨论】:
-
请检查更新。
-
对于动态方法,您可以试试这个:
postDataScript: "{ Name: function() { return $('#filter').val(); } }"。也使用$('#profiles').jqGrid('setGridParam', { postData: { ... } });是一个有效的选项。
标签: jquery asp.net-mvc jqgrid lib.web.mvc