问题描述
我正在使用Xcrud版本1.7 https://www.xcrud.net/
并希望使用按钮来搜索/过滤预定义的关键字和列。在Xcrud文档中,我发现带有编辑和模式任务之类的按钮,但没有搜索内容。
这个主意是这样的
<button onclick="Xcrud.request('.xcrud-ajax',Xcrud.list_data('.xcrud-ajax',{task:'search',field:keyword}))">Filter Keyword</button>
文档具有一些按钮功能,但是我无法在搜索中使用某些功能。 https://www.xcrud.net/demos/index.php?page=js_tricks&theme=default
我需要某种解决方案来过滤表数据,而不用重新加载整个页面及其从xcrud使用js函数而不是再次加载整个页面的方法。也许有人已经与xcrud合作,并且有了一个主意。
先谢谢您
解决方法
我用自己的小功能自己解决了这个问题。它可能不是最聪明的解决方案,但是它很好用,像这样,您可以直接在特定列或所有列中搜索短语来直接单击任何按钮或菜单条目。
然后,您可以通过简单的onclick或类似的方式连接按钮/链接: search_xcrud('phrase','colname');
此处功能
:function search_xcrud(phrase,col=''){
console.log('Xcrud Search Started: ' + phrase+ ' Col: ' + col);
$('input[name ="phrase"]').val(phrase);
$('select[name ="column"]').val(col);
$( '.search-go' ).trigger( "click" );
}
您可以使用不带“ col”的函数,然后在所有列中进行搜索。 如果要搜索特定的列,则需要输入表名,该表名应与$ xcrud-> columns中使用的标签完全相同!
示例: 例如,如果您使用表ID为“名称”,“年龄”的列“客户”表。
$xcrud->table('Clients');
$xcrud->columns('id,name,age');
您将这样调用函数:
search_xcrud('myphrase','Clients.name'); // incl. tablename and colname!
如果您对右列有疑问,请检查您的源代码,并在这种情况下为所有选项寻找名称为“ column”的选择框。这取决于关系的使用等,在这种情况下可能会发生变化。
我希望这对其他人有帮助,因为我一直以来都在寻找一种简单的解决方案,而又不会触及原始的Xcrud代码。 PS:Xcrud太棒了!
如果您有任何问题,请告诉我。