Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使我的搜索表单使用大写和小写_Javascript_Uppercase_Lowercase_Search Form - Fatal编程技术网

Javascript 如何使我的搜索表单使用大写和小写

Javascript 如何使我的搜索表单使用大写和小写,javascript,uppercase,lowercase,search-form,Javascript,Uppercase,Lowercase,Search Form,我希望我的搜索表单使用大写和小写。因此,每当我输入小写的内容时,它也会在我搜索的表中显示大写结果 这是我的javascript function searchFunction() { var searchText = document.getElementById('database_search_bar').value; var targetTable = document.getElementById('database_table'); var targetTableColCount;

我希望我的搜索表单使用大写和小写。因此,每当我输入小写的内容时,它也会在我搜索的表中显示大写结果

这是我的javascript

function searchFunction() {
var searchText = document.getElementById('database_search_bar').value;
var targetTable = document.getElementById('database_table');
var targetTableColCount;

for (var rowIndex = 0; rowIndex < targetTable.rows.length; rowIndex++) {
    var rowData = '';

    if (rowIndex == 0) {
       targetTableColCount = targetTable.rows.item(rowIndex).cells.length;
       continue; 
    }

    for (var colIndex = 0; colIndex < targetTableColCount; colIndex++) {
        rowData += targetTable.rows.item(rowIndex).cells.item(colIndex).textContent;
    }

    if (rowData.indexOf(searchText) == -1)
        targetTable.rows.item(rowIndex).style.display = 'none';
    else
        targetTable.rows.item(rowIndex).style.display = 'table-row';
}
有人能帮我吗?

更改此行:

 if (rowData.indexOf(searchText) == -1)
致:

这样,为了进行比较,您将只使用小写字符串。也就是说,如果searchText是Lorem Ipsum,rowData是我的Lorem Ipsum在其中,它们将分别成为Lorem Ipsum和我的Lorem Ipsum在其中-因此,它们将匹配


还要注意的是,在ES6中,您有可能用于您正在做的事情的。它会读得更好一点,但是目前IE不支持它。

如果你想忽略大小写,可能你应该把两边都改成大写或小写

在您的情况下,可以对rowData和searchText使用toUpperCase或toLowerCase


这是另一种选择:

诀窍是使比较均匀化

如何进行均质化

只需将元素转换为相同的类型即可。 但它们是弦,是的,但A不同于A。所以,我们可以用小写的all或大写的all。但是,如何? 使用或使用方法。 我创建了一个notFound,即小写的rowData和searchText,如果indexOf为-1,则返回false,否则将返回true。对不起,我花了很长时间才把国家和大陆排满这张桌子

var searchButton=document.getElementById'search_button'; searchButton.addEventListener'click',searchFunction 函数搜索函数{ var searchText=document.getElementById'database\u search\u bar'。值; var targetTable=document.getElementById'database_table'; var notFoundText=document.getElementById'not_found'; var targetTableColCount; var hasResult=false; notFoundText.innerHTML=; 对于变量rowIndex=0;rowIndex非常感谢。很好用!是的,我意识到了。我评论到快,对不起!“但它现在起作用了。”罗宾德汉很高兴它起作用了。如果你接受我的回答,顺便说一句,我会越过2万分的分数线D
 if (rowData.toLowerCase().indexOf(searchText.toLowerCase()) == -1)
var upperData = rowData.toUppercase();
var upperText = searchText.toUppercase();
if (upperData.indexOf(upperText) == -1) {
  //Not Found
}
else {
  //Found
}