2011-03-10 62 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