簡體   English   中英

選中兩個復選框的Javascript未選中一行

[英]Javascript to check both checkbox not checked for one row

我在具有多行的表中的每一行都有兩個復選框。 在這里,我需要驗證用戶是否已為所有行選中了復選框,並且還沒有為approveCheckrejectCheck都選中了。 隱藏的兩個這是jsp中的示例代碼

<display:table>
<display:column title="Approve" >                                                               
<center>
<input type='hidden' value='' name='approveCheck'>
<input type="checkbox" name="approveCheck" value="${approve.num}" />
</center>                                                                                           
</display:column>
<display:column title="Reject" >                                                                
<center>
<input type='hidden' value='' name='rejectCheck'>
<input type="checkbox" name="rejectCheck" value="${approve.num}" />
</center>                                                                                           
</display:column>
</display table>

在提交時,我正在調用的javascript是:

function formCheck2(){

    var alertMsg = '';
    var checkedList1 = window.document.getElementsByName('approveCheck');
    var checkedList2 = window.document.getElementsByName('rejectCheck');
    var validationFlag = true;
    if(checkedList1 == '')checkedList1=0;
if(checkedList2 == '')checkedList2=0;

     mainloop:
    for(var i = 0; i < checkedList1.length; i++){
        for(var i = 0; i < checkedList2.length; i++){
            if(checkedList1 !='' && checkedList2 !=''){
             if ((checkedList1[i].checked == true || checkedList1[i].checked == "true") && (checkedList2[i].checked == true || checkedList2[i].checked == "true")){                 
                validationFlag = false;
                alertMsg = "Cannot check both";
                alert('both checked');
                break mainloop;
                }            
            else if ((checkedList1[i].checked == false || checkedList1[i].checked == "false") && (checkedList2[i].checked == false || checkedList2[i].checked == "false")){         
                validationFlag = false;
                alertMsg = "need to act on all";
                alert('none checked');
                break mainloop;
                }       
            else{           
                validationFlag = true;

             }
        }
        }
    }                   
    if(validationFlag){             
            window.document.forms["Rep"].btnSubmit.disabled = true;     
            window.document.forms["Rep"].action = '${urlSubmit}';       
            window.document.forms["Rep"].submit();              
    }
    else{
        alert(alertMsg);
        return false;   
    }
}

在這里,無論我選擇什么,我都選擇進入“需要全力以赴”的地步。

我可以建議使用單選按鈕而不是復選框,並使用它們的名稱對兩個單選按鈕進行分組:

<input type="radio" name="Check1" value="${vdapprove.ddr_num}" onClick="toggle(this);"/>
<input type="radio" name="Check1" value="${vdapprove.ddr_num}" onClick="toggle(this);" />

這樣,您可以確保無法同時檢查兩者

注意:您可以為他們提供不同的ID,以便能夠根據他們的ID來訪問他們每個人

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM