使用javascript将复选框值推入到数组中
问题描述:
我有一堆复选框,每个复选框的值都是不同的价格。我创建了一个对象,该对象包含将该值插入数组(如果该框被选中)的功能。当我控制台登录空数组时,它显示为空,所以我知道这是有效的。我只是无法得到它与控制日志与推入的值。使用javascript将复选框值推入到数组中
<input type="checkbox" id="bac" value ="1">bacon - $1
var allIngredients = {
ingredientArray: [],
baconBox: function() {
var bacon = document.getElementById('bac');
if (bacon.checked === true) {
this.ingredientArray.push(bacon.value);
}
},
编辑:
console.log(allIngredients.ingredientArray);
返回一个空数组这样 “[]”。我无法得到它返回一个数组与培根的价值,就像这个“[1]”当我检查框。培根的价值是1.
答
正如其他人在评论中指出的,你应该调用函数allIngredients.baconBox()
。
一种选择是添加事件侦听器,像这样:
document.getElementById('bac').addEventListener('change', function() {
allIngredients.baconBox();
});
虽然这种方法的缺点是,取消勾选框不会从你的allIngredients
阵列删除bacon.value
。
你是否在任何地方调用'baconBox'函数? – Cerbrus
'我只是无法得到它与控制台日志中的推入的值... ...你会需要代码'console.log(某事)'如果你想console.log的东西......不是你认为? –
正如@Cerbrus所说的,你必须在某处调用它,就像在改变复选框的事件监听器中一样。 – Walk