javascript - 检测输入中输入的单词和字母,并对具有相同字母的其他元素(div 中的文本)进行排序

标签 javascript jquery html css

我想做一个输入,你可以在其中输入单词或字母来对某种元素进行排序。例如:其中有不同单词的 div,当您在输入中键入内容时,立即对与输入中具有相同字母的 div 进行排序...

<input type="text" placeholder="Sort by...">

<div class="sortable-items">
    <div>dogs</div>
    <div>cats</div>
    <div>dogs</div>
    <div>dogs</div>
    <div>cats</div>
    <div>cats</div>
    <div>dogs</div>
</div>

最佳答案

如果您监听输入的 keyup 事件,则每次您键入或删除一个字母时都会调用该函数。然后您可以检查输入是否与任何 div 的值匹配,并根据该值隐藏/显示它。

$('#search').keyup(function(){
    var searchTerm = $(this).val();
    $(".sortable-items div").each(function(){
        if($(this).text().match(searchTerm)){
            $(this).show();
        }else{
            $(this).hide();
        }
    });
});

您可以在这个 fiddle 中测试它:http://jsfiddle.net/h9sck2nh/1/

关于javascript - 检测输入中输入的单词和字母,并对具有相同字母的其他元素(div 中的文本)进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26302151/

相关文章:

javascript - 听说过一个框架/应用程序只从数据库返回您需要的内容吗?

javascript - 如何制作可选调用的函数?

javascript - 如何获取数组中的value属性?

javascript - underscore.js 的替代解决方案

html - 带有视频背景的页眉,位置在 safari 中不起作用

javascript - 关注 contenteditable div/Summernote 中的下一段

javascript - 正则表达式中断\n

javascript - 返回带有空格的字符串

php - 不同日期范围的 Highcharts 图 X 轴标签

javascript 过滤器功能在 IE 11 中不起作用,但在 Chrome 和 Mozilla 中运行良好