Javascript包括提供意外结果
这变得有点奇怪,因为我认为这是一件非常简单的事情,出于某种原因,仍然会产生意想不到的结果 基本上我有一个输入字段和一个表。 用户可以键入输入字段并在表的特定列中搜索 因此,一个典型的单元格可能有一个日期,例如“24/03/2020”。 现在,如果用户使用includes输入“24”,我会得到false 这是一个示例代码:Javascript包括提供意外结果,javascript,jquery,html,Javascript,Jquery,Html,这变得有点奇怪,因为我认为这是一件非常简单的事情,出于某种原因,仍然会产生意想不到的结果 基本上我有一个输入字段和一个表。 用户可以键入输入字段并在表的特定列中搜索 因此,一个典型的单元格可能有一个日期,例如“24/03/2020”。 现在,如果用户使用includes输入“24”,我会得到false 这是一个示例代码: let _t = $('input[data-search="date"]').val(); //gets the user input text let _c = $(v).
let _t = $('input[data-search="date"]').val(); //gets the user input text
let _c = $(v).find('td[data-query="date"]').html(); //gets the cell data
var _r = (_t.toLowerCase().includes(_c.toLowerCase()))
现在,当我在consoleconsole.log(\u t,\u c,\u r)
中输出结果时,如果用户输入“24”,并且有一个包含“24/03/2020”的单元格,我将得到以下结果
24 – "24/03/2020" – false
这很奇怪!谁来帮忙
包括
在字符串中搜索子字符串。因此,您必须搜索24
内部24/03/2020
,而不是24/03/2020
内部24
所以只需使用这行代码:
var _r = (_c.toLowerCase().includes(_t.toLowerCase()))
而不是:
var _r = (_t.toLowerCase().includes(_c.toLowerCase()))
你应该
var\u r=(\u c.toLowerCase())includes(\u t.toLowerCase())
而不是var\u r=(\u t.toLowerCase().includes(\u c.toLowerCase())
;注意,您正在从单元格中获取HTML。尝试$(v).find('td[data query=“date”]”)。text().trim()代码>。你完全正确。谢谢你的帮助@Combinu lol这就是为什么你应该给你的变量更多的描述性名称。@JaredSmith这也是正确的。。。也许这就是为什么你不应该连续工作超过8小时的原因:')