Javascript 使用用户输入值而不是参数

Javascript 使用用户输入值而不是参数,javascript,arrays,loops,Javascript,Arrays,Loops,我有一个函数,在输入参数时可以很好地工作,但这不是我需要的,所以给出下面的代码,我如何使用用户输入值而不是参数来搜索数组并返回对象? 请尽量保持简单,我是javaScript新手。 请包括输入和按钮以及html字段 carSelection=[{ 制造商:“菲亚特汽车公司”, 类型:“菲亚特500”, 燃料:“欧洲超级98”, 条件:“新”, 发动机功率:“101kW” }, { 制造商:“起亚汽车公司(KMC)”, 类型:“起亚运动版”, 燃料:“欧洲柴油”, 条件:“已使用”, 发动机功率

我有一个函数,在输入参数时可以很好地工作,但这不是我需要的,所以给出下面的代码,我如何使用用户输入值而不是参数来搜索数组并返回对象? 请尽量保持简单,我是javaScript新手。 请包括输入和按钮以及html字段

carSelection=[{
制造商:“菲亚特汽车公司”,
类型:“菲亚特500”,
燃料:“欧洲超级98”,
条件:“新”,
发动机功率:“101kW”
},
{
制造商:“起亚汽车公司(KMC)”,
类型:“起亚运动版”,
燃料:“欧洲柴油”,
条件:“已使用”,
发动机功率:“185kW”
},
{
制造商:“宝马公司”,
类型:“宝马X5”,
燃料:“欧洲柴油”,
条件:“已使用”,
发动机功率:“195kW”
},
{
制造商:“丰田汽车公司”,
类型:“丰田花冠”,
燃料:“欧洲超级95”,
条件:“已使用”,
发动机功率:“165kW”
}
];
var bmw=‘bmw X5’;
//var n1=宝马指数(“宝马”,0);
var toyota=‘丰田花冠’;
var菲亚特=‘菲亚特500’;
var kia=‘起亚运动’;
var输入=document.getElementById(“输入”).value;
功能findCar(arr、searchProp){
var rezArr=[];
对于(变量i=0;i

我觉得您输入的html很好。您应该添加一个类似于
的按钮

现在,您需要向按钮添加一个单击事件侦听器。这基本上是一个在单击按钮时调用的函数。有几种方法可以添加事件侦听器,但我认为最好的方法是

const button = document.getElementById('button'); //get a reference to the button element
button.addEventListener('click', handleClick) // specify a function that should be called whenever the button is clicked
function handleClick(){
    var input = document.getElementById("input").value;//get the current value of the input
    findCar(carSelection, input) //find the car

}
因此,每当单击按钮时,我们都会获取
input
的当前值,并将其传递给您已经编写的函数


当前代码无法工作的原因是,当用户很可能还没有时间在脚本中键入任何内容时,只要加载脚本,您就会获取
input
的值。因此它将始终是一个空字符串(
)。

编写一个事件侦听器,以
document.getElementById('input').value
作为参数调用
findCar()
。看起来您已经在尝试从用户获取输入。这在某种程度上不起作用吗?看起来您从未使用过
输入
变量。你试过用它吗?是的,但不能用