2016-04-21 82 views
0

我想调用一个函数感谢jquery事件处理程序。我的触发器是用户在我的数据网格(navgrid)上进行的搜索。 我认为最好的选择是使用someting.on("click", function(){})这些“东西”代表搜索按钮。我的问题是我无法弄清楚如何调用这个搜索按钮。 然后,我们可以添加一个应答器到这个按钮或有其他选择吗?如何检测其他元素的LoadComplete?

PS:LoadComplete没有在这里工作,因为我不能访问我想从我的网格触发的功能。

+0

对不起,但你的问题还不够清楚。要显示Searching对话框,你可以调用'$(“#gridid”)。jqGrid(“searchGrid”);''或'$(“#gridid”)。jqGrid(“searchGrid”,{searchOnEnter:true,closeOnEscape:true,closeAfterSearch :true,closeAfterReset:true,multipleGroup:true,multipleSearch:true});' - 这只是一些选项的例子。您可以像选项一样指定搜索对话框的任何回调。 – Oleg

回答

0

问题:http://jsfiddle.net/OlegKi/np1gh5pm/6/点击树形图具体化电网,但过滤电网不影响树形图

解决方案:

最后,我用一个div display noneLoadComplete感谢它打印筛选器:

document.getElementById("change").innerHTML=$("#jqGrid").getGridParam("postData").filters; 

那么,我观察应答器感谢的变化:

$('#change').bind("DOMSubtreeModified",function(){ 
    //block code 
}); 

那我就不直接观察到我的网格重装的结束,而是由网格创建的事件......不太一样!

0

在HTML您必须thometing这样

<button class="btn" type="submit">Click me</button> 

和JS(如果你正在使用jQuery)

$('.btn').on("click", function() { 
    alert('do something here'); 
}); 
0

我不知道我理解正确,你的问题。要显示搜索对话框你可以调用

$("#grid").jqGrid("searchGrid"); 

$("#grid").jqGrid("searchGrid", { 
    searchOnEnter: true, 
    closeOnEscape: true, 
    closeAfterSearch: true, 
    closeAfterReset: true, 
    multipleGroup: true, 
    multipleSearch: true 
}); 

这只是一些选项的例子。您可以像选项一样指定搜索对话框的任何回调。

如果您确实需要点击导航栏上的搜索按钮,那么您需要知道该按钮的ID有"search_"后跟网格ID。如果你有,例如,网格id="grid"那么你可以使用:

$("#search_grid").click(); 
+0

我的问题其实只是关于搜索按钮。 ID“search_”效果很好,但与我的展示不匹配,因为发生在搜索之前。按钮“查找”和“重置”是否存在相同的ID? –

+0

@PierreGUILLAUME:我不确定你想要实现什么。只有在您打开搜索对话框后,才能查找和重置按钮*。当你想点击那里?用户应该先设置过滤器,然后再点击查找按钮。可以手动设置/删除'postData.filters'并触发reloadGrid查找或重置。不需要对话。 – Oleg

+0

我在网格和一些图表之间创建交互。我的目标是在我的网格中设置过滤器时更新图表。但我不想重新加载所有的图表,因为我使用js转换。这就是为什么我要检测搜索结束和搜索按钮的ID。 搜索按钮不是在程序开始时创建的,而是点击事件支持这样的动作。 (当你给他的未来ID的名称) –