Javascript函数调用不正确

时间:2016-08-13 01:08:55

标签: javascript html function onclick

我试图点击第一个单选按钮,它将分配变量distSelected并从对象engDistanceObject中获取一些值。我怀疑我的HTML可能写得不正确...特别是输入标签。

https://jsfiddle.net/Natronox/sbojaxm4/#&togetherjs=zb80KxkQzm

var engDistanceObject = {
short:  ["100m-300m","416 Assault Rifle"],
long:   ["300m-1000m","M110 DMR"]
};

var distSelected;
var weapon;

function distanceClick(item){
distSelected = engDistanceObject.item[0];
weapon = engDistanceObject.item[1];
console.log(distSelected,weapon);
};

2 个答案:

答案 0 :(得分:0)

使用短而长的属性而不是项目。您的对象中没有项目属性名称。

。短路[0]

。短路[1]

答案 1 :(得分:0)

要访问动态属性,您无法使用.语法。它会忽略可能与您尝试访问的属性同名的变量,而是尝试访问不存在的item属性。

而是使用括号语法[],它允许使用字符串来访问动态属性。这意味着您需要将字符串作为参数传递给函数。

您的HTML事件处理程序需要围绕参数的引号:

onclick="distanceClick('long')"

然后在JS中使用括号语法:

function distanceClick(item){
    distSelected = engDistanceObject[item][0];
    weapon = engDistanceObject[item][1];
    console.log(distSelected, weapon);
}