【问题标题】:How to populate values based on a search textbox in JQGrid如何根据 JQGrid 中的搜索文本框填充值
【发布时间】:2014-05-27 04:52:19
【问题描述】:

我需要根据用户在文本框中输入的值来显示我的网格。

在我的html中,我给出了一个网格

<table id="grid"></table>

这是一个fiddle

目前它在我的网格中显示空值。我的代码有问题。有人可以建议我需要做什么吗?

谢谢,

【问题讨论】:

  • 你为什么要拆分搜索文本??
  • @pawal:我的代码没有进入 $.each(s, function())。这就是我尝试拆分搜索文本的原因。知道如何实现这一目标吗?
  • 什么是 .indexColumn ?它有随机值吗?您已将所有 ID 附加到其中。用户应该在搜索框中输入什么?
  • @shaunakde:我已经填充了 emp 名称中的所有值,并在 indexcolumn td 中填充为暂时隐藏。假设用户只在该搜索框中输入 emp 名称。
  • 您的代码可以读取包含员工 ID 的 .indexcolumn $("#grid tr:visible .indexColumn:not(:contains('"+ s + "'))")。我会在一分钟内发布正确的解决方案

标签: jquery html jquery-ui jqgrid


【解决方案1】:

这是一个Working fiddle


首先,.indexcolumn 类得到了错误的值。

改变:

var t = $('#grid td:nth-child(2)').text().toLowerCase();

var t = $(this).children('td:nth-child(2)').text().toLowerCase();

其次,你必须根据员工姓名搜索而不是 .indexcolumn,其中包含 ID。

变化:

$("#grid tr:visible .indexColumn:not(:contains('"+ this + "'))").parent().hide();

$("#grid tr:visible td[aria-describedby='grid_emp_name']:not(:contains('"+ s + "'))").parent().hide();

第三,我去掉了拆分输入值的逻辑,contains()工作正常。

【讨论】:

  • 像魅力一样工作。非常感谢:)
  • 很高兴帮助@steeve!