2014-01-05 1 views
0

У меня есть два флажка для каждой строки в таблице с несколькими строками. Здесь мне нужно проверить , что пользователь установил флажок для всех строк, а также не выбрал для approveCheck и rejectCheck. Два спрятан Вот пример кода в JSPJavascript для проверки обоих флажков не отмечен для одной строки

<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; 
    } 
} 

здесь независимо от того, что бы я ни выбора я выборе в «должны действовать на всех "блок.

+0

вы можете создать скрипку? –

ответ

0

Могу ли я предложить использовать радио кнопки вместо флажков и группы каждые две кнопки радио, используя свое имя:

<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

+0

не может дать переключатель, поскольку требование дает флажки – Sayan

+1

Хорошо, еще одно предложение - проверить onClick, поэтому в каждом флажке onClick будет проверять, установлен ли другой флажок, и если это так, или снимите галочку с другого. onClick = "Подтвердить();" ' function Validate() { \t var checkedList1 = window.document.getElementsByName ('approveCheck'); var checkedList2 = window.document.getElementsByName ('rejectCheck'); \t if (checkedList1 [i] .checked == true || checkedList1 [i] .checked == true) \t \t // Сделайте что-нибудь. } ' –

+1

работал для меня. Благодарю. – Sayan

 Смежные вопросы

  • Нет связанных вопросов^_^