Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未在选中值上重新指定变量_Javascript_Html_Checkbox - Fatal编程技术网

Javascript 未在选中值上重新指定变量

Javascript 未在选中值上重新指定变量,javascript,html,checkbox,Javascript,Html,Checkbox,未在选中复选框时更新变量garageVal的值 由于复选框的默认位置在第一次选择时已选中,因此garageVal为15000,但在选择其他值时它不会更改 本节的目的是计算房屋的估价。garageVal与其他变量一起插入计算器以生成最终值 HTML: 控制台默认显示15000,尽管我努力了,我还是无法更新garageVal if (g1.checked = true) 您的条件是所有赋值,它总是true,尤其是在第一次检查时(赋值是计算为赋值的表达式) const obj={} const f

未在选中复选框时更新变量garageVal的值

由于复选框的默认位置在第一次选择时已选中,因此garageVal为15000,但在选择其他值时它不会更改

本节的目的是计算房屋的估价。garageVal与其他变量一起插入计算器以生成最终值

HTML:

控制台默认显示15000,尽管我努力了,我还是无法更新garageVal

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);