繁体   English   中英

根据select(input)是否可见更改'required'属性

[英]Change 'required' attribute depending if select(input) is visible or not

好的,我有很多选择,根据选择输入的更改,这些选择是隐藏的还是可见的。探查性是我需要所有选择都具有必需的属性,但是当隐藏时,我无法提交。这是我用来隐藏的代码/ show select输入,它可以工作,现在我不仅需要显示,而且required = true,也可以隐藏并required = 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>

我的意思是:

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

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

在jQuery中:

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

与第一个元素(DOM)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM