使用javascript检查复选框状态的问题

时间:2011-03-10 15:00:12

标签: javascript

我不习惯使用javascript,所以在我的一个项目中尝试使用它,我有一个小工作,我必须使用javascript来实现。 在我的JSP页面上,我需要显示一个项目列表,其中每个项目都有一个复选框,需要跟踪用户是选择项目还是取消选择项目。 这是我正在尝试的

<input type="checkbox" value="someval" name="SelectedDestinationUUID" id="SelectedDestinationUUID" onchange="maintainCheckBoxStatus(this.value,'SelectedDestinationUUID')">

这是我的javascript

function maintainCheckBoxStatus(checkBoxValue,checkBoxName){

    if(document.getElementById(checkBoxName).checked){
        alert("check");
        addCheckBoxStatus(checkBoxValue,true);
    }
    else{
        alert("check1");
        addCheckBoxStatus(checkBoxValue,false);
    }
}

现在发生的事情是当我选择正确显示检查的项目时,但是当取消选择行为时会有所不同 这是细节 让我假设我有两个项目,我先选择而不是第二个,同时取消选择我按以下顺序取消选择

  1. 取消选择第1项

  2. 取消选择第2项 一切正常,显示检查和未检查状态正常。

  3. 但如果我按照以下顺序取消选择

    1. 取消选择第2项

    2. 取消选择第1项

    3. 在清除第二项警报时,事情变得混乱,显示我的状态已被选中。 任何人都可以指出我在哪里做错了

      提前致谢

1 个答案:

答案 0 :(得分:0)

首先请做

<input type="checkbox" value="someval" 
name="SelectedDestinationUUID" id="SelectedDestinationUUID" 
onchange="maintainCheckBoxStatus(this)">

function maintainCheckBoxStatus(checkBox){
    addCheckBoxStatus(checkBox.value,checkBox.checked);
}

相同
<input type="checkbox" value="someval" 
name="SelectedDestinationUUID" id="SelectedDestinationUUID" 
onchange="addCheckBoxStatus(this.value,this.checked)">