Javascript 改变';必需的';属性,具体取决于选择(输入)是否可见

Javascript 改变';必需的';属性,具体取决于选择(输入)是否可见,javascript,select,Javascript,Select,好的,我得到了许多选择,其中一些是隐藏的或可见的,这取决于选择输入中的更改。。问题是我需要所有的选择都具有必需的属性,但隐藏时我无法提交。。下面是我用来隐藏/显示选择输入的代码,它可以工作,现在我不需要只显示但也需要=true,或者隐藏并需要=false <script type="text/javascript"> $(document).ready(function(){ $("#departamento").hide();

好的,我得到了许多选择,其中一些是隐藏的或可见的,这取决于选择输入中的更改。。问题是我需要所有的选择都具有必需的属性,但隐藏时我无法提交。。下面是我用来隐藏/显示选择输入的代码,它可以工作,现在我不需要只显示但也需要=true,或者隐藏并需要=false

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

如果您谈到html5的input required属性,那么您需要使用

在jquery中:

$("#fecha_rec").attr('required', 'required');
//and
$("#fecha_rec").removeAttr('required');
使用第一个元素(DOM)

$("#fecha_rec").attr('required', 'required');
//and
$("#fecha_rec").removeAttr('required');
$("#fecha_rec")[0].required = true;
// and
$("#fecha_rec")[0].required = false;