2014-03-19 78 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) –

相关问题