2011-03-10 64 views
0

我不是很舒服地使用JavaScript,所以试着用我的手在我的一个项目中使用它,我有一个小工作,我必须使用javascript来实现。 我的JSP页面上,我需要显示一个项目列表,其中每个项目的复选框,并需要跟踪,如果用户选择一个项目或取消选择一个项目。 这里就是我想使用javascript检查复选框状态的问题

<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 一切正常显示它选中和未选中状态很好。

,但如果我按照以下顺序取消

  1. 取消项目而deselcting项目两个警报2件

  2. 取消选择第1项

事情变得一团糟向我显示其状态已被选中。 可以在任何一个点我在哪里,我在事先

做错了

感谢

+0

请出示addCheckBoxStatus – mplungjan 2011-03-10 15:01:21

回答

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)"> 
+0

即知作为击中牛眼..感谢。虽然我不在JavaScript(Java开发人员),但想知道我到底做错了什么,以便我不会将来再磨这个东西 – 2011-03-10 15:10:07