Javascript 未在选中值上重新指定变量
未在选中复选框时更新变量garageVal的值 由于复选框的默认位置在第一次选择时已选中,因此garageVal为15000,但在选择其他值时它不会更改 本节的目的是计算房屋的估价。garageVal与其他变量一起插入计算器以生成最终值 HTML: 控制台默认显示15000,尽管我努力了,我还是无法更新garageValJavascript 未在选中值上重新指定变量,javascript,html,checkbox,Javascript,Html,Checkbox,未在选中复选框时更新变量garageVal的值 由于复选框的默认位置在第一次选择时已选中,因此garageVal为15000,但在选择其他值时它不会更改 本节的目的是计算房屋的估价。garageVal与其他变量一起插入计算器以生成最终值 HTML: 控制台默认显示15000,尽管我努力了,我还是无法更新garageVal if (g1.checked = true) 您的条件是所有赋值,它总是true,尤其是在第一次检查时(赋值是计算为赋值的表达式) const obj={} const f
if (g1.checked = true)
您的条件是所有赋值,它总是true
,尤其是在第一次检查时(赋值是计算为赋值的表达式)
const obj={}
const foo=(obj.rar='yass!')/“=”是赋值,而不是比较
console.log('obj.rar:',obj.rar)/'yass!',但你可能没想到会这样
console.log('foo:',foo)//也可以是'yass!',但是您可能希望在加载脚本时立即运行if和elseif语句。因此,在页面加载时,脚本将运行,评估选中的框,然后根据HTML指定值。您需要将eventlisteners添加到每个复选框中以使其实时更新。例如:
g2.addEventListener("click", function(){
// if statement to see if box is already checked or not
if (g2.checked === false){
g2.checked = true;
garageVal = 30000;
} else {
g2.checked = false;
// remove 3000 from garageVal, or whatever you need done when box is unchecked
}
}, false);
奇怪的是,这个赋值运算符是唯一起作用的(==和===都没有做任何事情)。这也是我最初的想法。g1.检查过……等等。也不起作用。赋值运算符是我尝试过的所有操作中唯一有效的(尽管工作不正常)。事件侦听器修复了它,感谢您的帮助!
if (g1.checked = true)
g2.addEventListener("click", function(){
// if statement to see if box is already checked or not
if (g2.checked === false){
g2.checked = true;
garageVal = 30000;
} else {
g2.checked = false;
// remove 3000 from garageVal, or whatever you need done when box is unchecked
}
}, false);