未正确调用Javascript函数
我试图点击第一个单选按钮,它将分配变量distSelected并从对象engDistanceObject中分配一些值。我怀疑我的HTML可能没有被正确写入...特别是输入标签。未正确调用Javascript函数
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]
。短路[1]
是的,但在输入标签中,我传递'onclick =“distanceClick(short)”'。这是不是意味着项目变短...因此访问engDistanceObject.short。[0]? –
我这样做的原因是因为您将能够在第二个单选按钮上选择长属性 –
您这样做的方式将导致冲突。您将项传递给函数,但您的对象有两个属性。项目指的是哪个属性? – 2016-08-13 01:31:11
要访问的动态属性,则不能使用.
语法。它会忽略与您尝试访问的属性名称相同的变量,而是尝试访问不存在的item
属性。
而是使用括号语法[]
,它允许使用字符串来访问动态属性。这意味着你需要将一个字符串作为参数传递给你的函数。
你的HTML事件处理程序将需要引号的参数:
onclick="distanceClick('long')"
然后用括号语法在您的JS:
function distanceClick(item){
distSelected = engDistanceObject[item][0];
weapon = engDistanceObject[item][1];
console.log(distSelected, weapon);
}
啊哈谢谢。这使得一切都更清晰! –
请注意,注释掉的东西是没有必要这个问题 –