选中时更改值

时间:2013-05-26 21:23:10

标签: javascript html dom

我是HTML DOM的新手。检查复选框时,我试图更改值。 所以这是我未完成的剧本:

<html>
<script type="text/javascript">
var val=12;
document.write("<p>"+val+"</p>");
function checkAddress()
{
    var chkBox = document.getElementById('checkAddress');
    if (chkBox.checked)
    {
        var val=val+2;
    }
}
function checkAddress2()
{
    var chkBox = document.getElementById('checkAddress2');
    if (chkBox.checked)
    {
        var val=val+3;
    }
}
function checkAddress3()
{
    var chkBox = document.getElementById('checkAddress3');
    if (chkBox.checked)
    {
        var val=val+4;
    }
}
</script>
<p>Get value :<input type="checkbox" id="checkAddress" name="checkAddress"    onclick="checkAddress()" value="1st"/>
Get value :<input type="checkbox" id="checkAddress2" name="checkAddress" onclick="checkAddress2()" value="2nd"/>
Get value :<input type="checkbox" id="checkAddress3" name="checkAddress" onclick="checkAddress3()" value="3rd"/>

在这里,我只想制作这个脚本:当勾选复选框时,它会更改值auto。

1 个答案:

答案 0 :(得分:1)

首先在每次{}内声明val,这意味着价值会丢失。

其次,你没有对val做任何事情,以使它有用。

最后,您可以使用一个函数而不是三个函数来传递单击的特定复选框。

此外,如评论中所述,您不会将val分配给任何元素(使用.innerHtml,textarea等)。这意味着没有看到价值。

 <html>

<script type="text/javascript">
var val=12;

function resetCheckboxes()
{
document.getElementById("checkAddress").checked=false;
document.getElementById("checkAddress2").checked=false;
document.getElementById("checkAddress3").checked=false;
}

function checkAddress(chkBox)
{
    var multiplyer = 1;

    if (!chkBox.checked)
    multiplyer = -1;

    if(chkBox.id =="checkAddress")
    val=val+ (multiplyer)*2;

    else if(chkBox.id =="checkAddress2")
    val=val+ (multiplyer)*3;

    else if(chkBox.id =="checkAddress3")
    val=val+ (multiplyer)*4;

    document.getElementById("displayValue").innerHTML = "Val:"+val;
}
</script>

<body onLoad="resetCheckboxes()">
<div id="displayValue">Val:12</div>
<p>Get value :<input type="checkbox" id="checkAddress" name="checkAddress"    onclick="checkAddress(this)" value="1st"/>
Get value :<input type="checkbox" id="checkAddress2" name="checkAddress" onclick="checkAddress(this)" value="2nd"/>
Get value :<input type="checkbox" id="checkAddress3" name="checkAddress" onclick="checkAddress(this)" value="3rd"/>
</body>
</html>