我试图点击第一个单选按钮,它将分配变量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);
};
答案 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);
}