根据select(输入)是否可见,更改'required'属性

时间:2014-03-19 03:19:51

标签: javascript select

好吧,根据select输入的变化,我得到了许多隐藏或可见的选择.. probem是我需要所有选择具有必需属性,但是当隐藏时我无法提交..这是代码我用于隐藏/显示选择输入并且它可以工作,现在我不需要只显示但是必需= 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>

我的意思是:

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

1 个答案:

答案 0 :(得分:2)

如果你谈论html5输入必需属性,那么你需要使用

在jquery中:

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

第一个元素(DOM)

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