2016-11-07 33 views
0

我需要通过类来拉输入的值,然后“回声”或引用,关联数组值是否有可能在阵列中的回声一个变量的值引用

到目前为止,我的JavaScript是这样的:

var phone_code = document.getElementsByClassName('model').value; 
var phone = []; 
phone["6s"] = "23.52"; 
phone["5s"] = "9.88"; 
phone["5Se"] = "14.59"; 
phone["7"] = "28.49"; 
phone["s7e"] = "27.49"; 
phone["s7"] = "23.52"; 
phone["s6e"] = "21.04"; 
phone["s6"] = "18.56"; 
phone["a5"] = "12.61"; 
phone["j5"] = "7.65"; 
phone["a3"] = "8.64"; 
phone["j3"] = "5.17"; 
phone["p9"] = "16.08"; 
phone["p9lite"] = "8.64"; 

document.getElementById("phone-cost").innerHTML = phone[phone_code] 

和阵列输出为:

Your Phone would cost you £<span id="phone-cost"></span> per month 

但是,输出只是写着“不确定”,所以我不知道,如果JavaScript是问题,或者我需要进一步的回看在凝固酶原ss

phone_code需要使用class,因为它从表单启用/禁用的下拉列表中拉取,无论启用哪个下拉列表都需要使用。我想我的问题是,

phone[phone_code] 

是不是我应该如何引用变量,但我无法找到正确的方式一个明确的答案在一个阵列中格式化

感谢

+0

我不明白是什么问题。 – Amy

+0

@Amy输出变成“未定义”。如果上面的JavaScript看起来100%,那么也许我需要寻找其他地方的问题? – Frsti

+1

设置该值后,通过使用'console.log(phone_code)'尝试调试。这显示了什么价值?是否有任何多余的字符,例如您没有考虑到的空白字符? –

回答

1

两件事:

(1).getElementsByClassName()返回一个类似数组的对象,而不是单个元素。 (2)尽管可以像你在代码中一样使用数组,但是使用普通对象要好得多。

见下文:

var btn = document.getElementById('getPrice'); 
 

 
btn.addEventListener('click', function() { 
 
    var phone_code = document.getElementsByClassName('model')[0].value; 
 

 
    var phone = {}; 
 
    phone["6s"] = "23.52"; 
 
    phone["5s"] = "9.88"; 
 
    phone["5Se"] = "14.59"; 
 
    phone["7"] = "28.49"; 
 
    phone["s7e"] = "27.49"; 
 
    phone["s7"] = "23.52"; 
 
    phone["s6e"] = "21.04"; 
 
    phone["s6"] = "18.56"; 
 
    phone["a5"] = "12.61"; 
 
    phone["j5"] = "7.65"; 
 
    phone["a3"] = "8.64"; 
 
    phone["j3"] = "5.17"; 
 
    phone["p9"] = "16.08"; 
 
    phone["p9lite"] = "8.64"; 
 

 
    document.getElementById("phone-cost").innerHTML = phone[phone_code]; 
 
});
<select class="model"> 
 
    <option value="6s">6s</option> 
 
    <option value="5s">5s</option> 
 
    <option value="5Se">5Se</option> 
 
</select> 
 
<input type="button" value="Get Price" id="getPrice" />Your Phone would cost you £<span id="phone-cost"></span> per month

+0

谢谢!我能够将此功能嵌入到我的更改功能中。不知道有关选择输入,干杯! – Frsti

相关问题