使用jquery或javascript查找确切的值?

时间:2011-03-15 19:57:45

标签: javascript jquery

我有一个包含id的隐藏列的表。我使用此列中的值并将其发送到服务器,以便我可以获取正确的记录。

我没有使用datatables.net,我允许用户更新行。因此,他们点击编辑按钮,弹出一个对话框并进行编辑。一旦他们点击更新,我发回所有值,包括id(存储在隐藏文本字段中)。

所以我需要更新数据表,我发现的快速方法是使用一个插件,它允许你获取一个html行并将其传递给数据表(而不是传递数组中的每个列值)。

首先,我需要删除该行,然后添加新的更新行。

我有一个问题,虽然我不知道如何找出要删除的行。

我可以有一些存储行对象的全局变量,当它需要删除时,使用该对象。但是我真的不想这样做,因为如果我能帮助它的话,我不想让全局变量飞来飞去。

所以带有值的隐藏列有一个类名,我用它作为slector(class =“hidden”)。

所以我想知道如何进行搜索以过滤到只有具有此类名称的表格单元格,具有确切的值(例如我可以从隐藏文本框中使用55)。

我正在考虑使用jquery包含但可能会获得可能具有该数字的内容。我想要完全匹配。

2 个答案:

答案 0 :(得分:2)

我建议:

$('td.hidden:contains("55")')

这会发现td'隐藏'的任何class包含字符串'55',这有点问题,因为它匹配字符串'555' ,'055'等。


已修改以稍微改进上述内容,使其具体到所需的值:

$('td.hidden:contains("55")').filter(
    function(){
        return $(this).text() == '55';
    }).closest('tr').addClass('highlight');

JS Fiddle demo

修订JS Fiddle demo, allowing searching

虽然filter()完全正常没有 :contains()伪选择器,但我保留了:contains()以减少jQuery所拥有的元素数量通过工作。

参考文献:

答案 1 :(得分:1)

嗯,像

 $('body').find('.hidden').filter(function(elem) { ... } ).remove();

...中进行适当的测试。