突出显示输入框中键入的字母

时间:2012-09-15 10:57:31

标签: jquery highlighting

我想突出显示在收件箱中输入的文字,当它在表格列中找到td时,它应该突出显示它,否则从中移除突出显示。

以下是我的代码的小提琴:http://jsfiddle.net/rFGWZ/6/,尝试在文字输入中输入21,因此只有2行可见,我想选择21 in在案例中可见的每个td,这是在输入中输入的文本。

我已尝试在网络上发布了许多高亮显示的脚本,但它们似乎都没有用,因为我无法真正本地化该元素,因为这是实时查询搜索......

2 个答案:

答案 0 :(得分:2)

您必须创建仅包含突出显示字符的范围。 我建议你这个代码:

    $("table tr").each(function(index) {
        if (index !== 0) {

            $row = $(this);
            var firstCell = $row.children("td:first");

            var id = $row.children("td:first").text();
            if (id.indexOf(value) !== 0) {
                $row.children("td:first").text(id);
                $row.hide();
            }
            else {
                firstCell.html($("").addClass("highlight").text(id.slice(0, value.length)));
                firstCell.append(id.slice(value.length, id.length));
                $row.show();
            }
        }
    });

不要忘记在CSS中自定义.highlight规则。

请参阅it live!

答案 1 :(得分:0)

喜欢这个.. ??

if (id.indexOf(value) !== 0) {
            $row.hide();

        }
        else {
            $row.show();
            $row.css("color","red");
        }