javascript - 来自 span 的 Jquery 搜索字符串无法正常工作

标签 javascript jquery html

我正在使用 JQuery 过滤器,但在跨度中搜索字符串时遇到问题。

以下是我正在使用的搜索功能:

function searchAccoms() {       
    var searchString = $('#searchval').val();
    $('span.acc-head').each(function(){
        var spanString = $(this).text();    
        if(spanString.search(searchString) == 1){
            console.log('found');
        }else{
            console.log('Not Found');
        }       
    });
}

HTML:

<input type="text" placeholder="Search" id="searchval" name="searchval">
<img src="images/icon_search.png" class="search-btn" type="submit" onclick="return searchAccoms();">

场景:我在 SPAN 标签中有以下文本:

field
field
extra field
field1
field3
field2

示例跨度:

<span id="18" class="acc-head"> field1</span>

当我在搜索框中搜索“field”时,它工作正常,但是当我搜索“Field”中大写“F”中的第一个字母时,它就不起作用了。我在 MySQL 中寻找类似 commend 的 %Field%

还有其他方法可以进行搜索吗?

最佳答案

只需将两个字符串设为小写或大写即可使搜索不区分大小写:

function searchAccoms() {       
    var searchString = $('#searchval').val();

    $('span.acc-head').each(function(){
        var spanString = $(this).text();

        if (spanString.toLowerCase().search(searchString.toLowerCase()) == 1) {
            console.log('found');
        } else {
            console.log('Not Found');
        }       
    });
}

另一种选择是构造一个正则表达式,比如

var searchString = $('#searchval').val();
var regex = new RegExp(searchString, 'i');

...

if(spanString.search(regex) == 1)

但让字符串大小写相同似乎容易多了

关于javascript - 来自 span 的 Jquery 搜索字符串无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25133495/

相关文章:

html - 我怎样才能使 div 和 h1 调整宽度但作为 block 去换行

javascript - 无法从存在的 json 中获取值

javascript - 在 Javascript ES6 中导出多个包装函数

javascript - javascript 事件点击后清空输入

html - 在移动设备上使图像位于文本下方,而不是上方

html - 为什么我们在每个 Html 文档中使用 &lt;!DOCTYPE html>?

javascript - 显示从字符串中删除的值

javascript - 为网站添加书签 Javascript 而不是 jquery

javascript - 递归启用/禁用 div 中按钮的方法?

jquery - 如何获取通过输入框输入的城市/国家的经纬度?