我正在使用 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/