【发布时间】:2012-01-20 01:29:31
【问题描述】:
我需要帮助在匹配时突出显示 jqgrid 行的数据部分。
我的 jqGrid 标记:
<div title="Environment variables">
<div class="jqUIDiv">
<table id="tblEnvvars" width="100%"></table>
<div id="EnvvarsGridpager"></div>
</div>
</div>'
还有我的 jqGrid 代码:
var envVars=[]; //xml is a xml response sent from server
$(xml).children('product').each(function(){
$(this).children('envvars').each(function(){
$(this).children('variable').each(function(){
var row={};
isPresent=true;
row.name=$(this).attr('name');
row.value=$(this).attr('value');
envVars.push(row);
});
});
});
jQuery("#tblEnvvars").jqGrid({
datatype: "local",
data: envVars,
colNames:['Name','Value'],
colModel:[
{name:'name',index:'name', align:"left"},
{name:'value',index:'value', align:"left"}
],
pager : '#EnvvarsGridpager',
rowNum:10,
rowList:[10,50,100],
scrollOffset:0,
height: 'auto',
autowidth:true,
viewrecords: true,
gridview: true
});
jQuery("#tblEnvvars").setGridParam({rowNum:10}).trigger("reloadGrid");
jQuery("#tblEnvvars").jqGrid('filterToolbar',{stringResult: true, searchOnEnter: false, defaultSearch: 'cn'});
例如:
如果行项目包含LD_LIBRARY_PATH 并且用户在搜索区域中输入LIB,则应突出显示LD_LIBRARY_PATH 中的LIB。
更新:2011 年 12 月 15 日
我找到this Highlight plugin 突出显示但需要帮助来应用它。
我用它来制作下面的截图
这是我使用的代码
jQuery("#list1").jqGrid('filterToolbar',{stringResult: true, searchOnEnter: false, defaultSearch: 'cn', afterSearch:highlightIt()});
function highlightIt()
{
$('#list1 > tbody > tr > td').highlight('HOST');
}
【问题讨论】:
-
行的“突出显示”下的意思是什么?如果您选择网格的一行,则该行将通过向该行添加类“ui-state-highlight”来突出显示。这是你想要的多行网格吗?
-
@Oleg - 我想他想在搜索框中输入文本时突出显示行中数据的文本部分。
-
@Abhishek - 你看过
filterToolbar文档吗trirand.com/jqgridwiki/doku.php?id=wiki:toolbar_searching - 看起来beforeSearch可能是一个很好的事件来挂钩你的高亮插件。 -
@Justin Ethier:是的,我想在一行中突出显示与搜索文本匹配的数据的文本部分