如何使用JQuery切换(隐藏/显示)包含特定文本的文本区域中的所有行?

时间:2011-12-13 18:23:29

标签: javascript jquery

我有一个文本区域,我需要根据一些简单的标准显示/隐藏某些行(是否存在字符串)。我希望用户能够选中一个复选框来显示或隐藏这些行。

基本上,我会在复选框上附加一个点击处理程序,如果点击 - 我需要获取文本区域的值,然后应用过滤。如果他们取消选中此框,我希望原始结果再次显示。

    $('#filter_button').click(function() {

        var unfilteredArray    = $('#unfilteredtextarea').val().trim().split('\n');

        for (var i = 0; i < unfilteredArray.length; i++) {

    if (VALUE IS PRESENT){
     HIDE LINE;
    } else {
     DISPLAY LINE;
    }
        }

    });

我知道我可以使用Javascript中的FOR循环读取每行,并检查每一行,但如果textarea包含4000多行,那可能会很昂贵。

有没有办法可以使用JQuery来简化这个或者我应该考虑的另一种方式?任何帮助表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用textarea的scrollTop属性来限制迭代交叉的行?

这至少允许你限制搜索操作的费用