我正在使用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() {....
进行查询。如果没有,请不要做任何事情。
我应该如何编写代码来进行搜索并运行其他功能?感谢您的任何帮助/建议。
答案 0 :(得分:1)
您可以遍历数组并查找用户输入是否等于数组的当前索引值。如果等于你可以调用你的函数并打破循环,因为不需要循环更多。
for(int i=0; i<bb.length; i++){
If(bb[i] == userInput){
filterdata();
break;
}
}