2014-03-19 127 views
1

好吧,我有很多選擇,其中一些隱藏或可見取決於選擇輸入的變化。probem是我需要的所有選擇都需要屬性,但隱藏時,我不能提交..這裏是我用來隱藏/顯示選擇輸入的代碼,它的工作原理,現在我不需要只顯示,但必需=真,或隱藏和必需=虛假..根據選擇(輸入)是否可見,更改'required'屬性

<script type="text/javascript"> 
    $(document).ready(function(){   
     $("#departamento").hide(); 
     $("#departamento").required=false; 
     $("#fecha_rec").hide(); 
     $("#fecha_rec").required=false; 
     $("#origen").hide(); 
     $("#asunto").hide(); 
     $("#fecha_entrega").hide(); 
     $("#rangofechas").hide(); 
     $("#otro_dpto").hide(); 
     $("#otro_dpto").required=false; 
     $("select[name='buscarpor']").change(function(){ 
      var option_value = $(this).val(); 
      if(option_value=='Departamento') { 
       $("#departamento").show(); 
       $("#departamento").required=true; 
       $("#fecha_rec").hide(); 
       $("#origen").hide(); 
       $("#asunto").hide(); 
       $("#fecha_entrega").hide(); 
       $("#rangofechas").hide(); 
      } 
      else if(option_value=='Fecha recibido') { 
       $("#fecha_rec").show(); 
       $("#fecha_rec").required=true; 
       $("#departamento").hide(); 
       $("#origen").hide(); 
       $("#asunto").hide(); 
       $("#fecha_entrega").hide(); 
       $("#rangofechas").hide(); 
      } 
      else if(option_value=='Origen') {     
       $("#origen").show(); 

       $("#fecha_rec").hide(); 
       $("#departamento").hide(); 
       $("#asunto").hide(); 
       $("#fecha_entrega").hide(); 
       $("#rangofechas").hide(); 
      } 
      else if(option_value=='Asunto') { 
       $("#asunto").show(); 
       $("#fecha_rec").hide(); 
       $("#departamento").hide(); 
       $("#origen").hide(); 
       $("#fecha_entrega").hide(); 
       $("#rangofechas").hide(); 
      } 
      else if(option_value=='Fecha de Entrega') { 
       $("#fecha_entrega").show(); 
       $("#fecha_rec").hide(); 
       $("#departamento").hide(); 
       $("#origen").hide(); 
       $("#asunto").hide(); 
       $("#rangofechas").hide(); 
      } 
      else if(option_value=='Rango de Fechas') { 
       $("#rangofechas").show(); 
       $("#fecha_rec").hide(); 
       $("#departamento").hide(); 
       $("#origen").hide(); 
       $("#asunto").hide(); 
       $("#fecha_entrega").hide(); 
      } 
      else { 
       $("#departamento").hide(); 
       $("#fecha_rec").hide(); 
       $("#origen").hide(); 
       $("#asunto").hide(); 
       $("#fecha_entrega").hide(); 
       $("#rangofechas").hide(); 
      } 
     }); 

     $("select[name='departamento']").change(function(){ 
      var option_value = $(this).val(); 
      if(option_value=='Otro') { 
       $("#otro_dpto").show(); 
       //$("#departamento").required=false; 
       $("#otro_dpto").required=true; 
      }else{ 
       $("#otro_dpto").hide(); 
      } 
     }); 


    }); 
</script> 

我指的是以下幾點:

if(option_value=='Fecha recibido') { 
    $("#fecha_rec").show(); 
    $("#fecha_rec").required=TRUE; 
}else{ 
    $("#fecha_rec").hide(); 
    $("#fecha_rec").required=FALSE; 
} 

回答

2

如果你談論HTML5的輸入requir ED屬性,那麼你需要在jQuery的使用

$("#fecha_rec").attr('required', 'required'); 
//and 
$("#fecha_rec").removeAttr('required'); 

$("#fecha_rec")[0].required = true; 
// and 
$("#fecha_rec")[0].required = false; 
+0

在我的情況不工作的第一個元素(DOM) –

相關問題