首页 > 解决方案 > 如何仅显示与文本区域最后一行匹配的字符串

问题描述

为什么这不起作用?
txtags是一个 textarea
el应该是里面最后一行的内容txtags
poptag是 div。

$('.txtags').keyup(function (event) {
    var el = $(this).val().split("\n").pop();
    el = el.trim();
    console.log(el);  // this works
    $('.poptag').hide();
    $('.poptag').each(function(){
        if ($(this).text().indexOf(el) > -1) {
            $(this).show();
        }
    });
});

例如,我键入abc并期望应该显示poptag文本,但是 - 它不是。abcx

标签: javascript

解决方案


上面的代码应该可以正常工作,因为它可以正确检查最后一行textarea的内容poptag

$('.txtags').keyup(function (event) {
    var el = $(this).val().split("\n").pop();
    el = el.trim();
    console.log(el);  // this works
    $('.poptag').hide();
    $('.poptag').each(function(){
        if ($(this).text().indexOf(el) > -1) {
            $(this).show();
        }
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea class='txtags' ></textarea>
<div class='poptag'>this is me</div>
<div class='poptag'>apple ball </div>
<div class='poptag'>test for me</div>


推荐阅读