0

我有这段代码,用“小部件”类搜索 HTML 元素的内容,并使用 jQuery 函数fadeIn()fadeOut()只显示与搜索词匹配的元素。我不知道如何将搜索功能分配给,因为我没有将它分配给搜索框的更改事件。onchange=jQuery中的等价物是什么?我当前的代码:

function search(text, elements) {
    var term = text.value.toLowerCase();
    var elms = $(elements);
    var elm;
    for (var i = elms.length; i > 0; i-=1){
        elm = elms.get(i);
        if (elm.text().toLowerCase().indexOf(term)>=0 ) {
            elm.fadeOut(500);
        } else {
            elm.fadeIn(500);
        }

    }
}

以及触发 onchange 的失败内联脚本:

<script type="text/javascript">
    $(document).ready(function() {
    $("#search").change(function() {
            search($("#search").text(),".widget");
        });
    });

4

2 回答 2

1

我会使用 keyup() 而不是更改,更改只会在模糊时触发。

于 2012-09-08T21:49:07.583 回答
0

$("#search").change(function() { search($("#search").text(),".widget"); });

.change() 是对 JQuery 中 .on() 函数的引用,因此如果您愿意,可以这样重写它:

$("#search").on('change' , function(){ search($(this).val(),".widget"); });

于 2012-09-08T22:00:57.303 回答