我正在使用 D3js 库。在网页上,有一个搜索框,用户可以在其中输入他们的参数。我通过 Ajax 将数据数组发送到我的数据库。以下是代码:
..........
var aa;
var bb;
$(function(){
$.ajax({
type: "POST",
url: "http://localhost:7474/db/data/transaction/commit",
accepts: {json: "application/json"},
dataType: "json",
contentType: "application/json",
data: JSON.stringify(query), //query is somewhere above the code
//pass a callback to success to do something with the data
success: function (data) {
aa = data.results[0].data;
aa.forEach(function (entry) {
passVar(entry.row[0].name)
});}}
);
});
function passVar(smth){
bb =[smth];
console.log (bb);
//Should search the user input..........
}
//if the user input matches, filter function should run.........
function filterData() {
var value = d3.select("#constraint")[0][0].value;
inputValue = value;
............
}
作为 console.log(bb)
的结果,我在控制台上收到以下信息:
["Direct Digital Control System"]
["Fire Protection"]
["HVAC Cooling- Waterside"]
["HVAC Heating- Waterside"]
["HVAC System"]
["HVAC-01"]
["HVAC-02"]
我想做的:
如果用户输入与 var bb
中的结果之一匹配,则程序应运行 function filterdata() {....
进行查询。如果没有,请不要做任何事情。
我应该如何编写代码来进行搜索并运行其他功能?感谢您的任何帮助/建议。
最佳答案
您可以循环遍历数组并查找用户输入是否等于数组的当前索引值。如果等于你可以调用你的函数并打破循环,因为不需要进一步循环。
for(int i=0; i<bb.length; i++){
if(bb[i] == userInput){
filterdata();
break;
}
}
关于JavaScript:在数组数量中搜索用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762709/