0

我正在尝试显示某些内容(或不显示,具体取决于他们选择的内容)。但是,我需要在验证之前这样做。我怎么能这样做?我的代码只有在按下提交按钮后才会这样做。但我需要预先验证它,以便从一开始就出现红色。

(注意:我不想使用硬编码的 CSS,因为我需要使用类似的代码来显示和不显示)。

if($('#amortization_years').val() == '' || $('#amortization_years').val() == 0 || $('#amortization_years').val() >= 36 || $('#amortization_months').val() >= 12 || ($('#amortization_years').val() == 35  && $('#amortization_months').val() > 0))

{
    $('#amortization_years').css('border', 'solid red 2px');
    $('#error_years').fadeIn(3000);
    $('#amortization_months').css('border', 'solid red 2px');
    $('#error_months').fadeIn(3000);
    valid = false;}
    else {($('#error_years').fadeOut(3000) && $('#error_month').fadeOut(3000));
}

编辑:返工但仍需要帮助

我处理了@Aprillion 链接到我的内容。这就是我需要的(重做),用于下拉菜单。

最后,表格的一部分(下拉菜单中的#16)只有在满足某些条件时才需要出现(基本上,如果一个人选择第一个答案,那么他也只能选择第 16 个问题,这将出现在下拉菜单中。所以基本上,如果这个人没有在包含 15 个项目(加上第 16 个项目)的下拉菜单中选择任何项目,那么他就不能选择 #16。

这是我正在修改的代码。

    <script>
            /*
The id for the thing
    sCat-<?php echo $numProj; ?><?php echo $numC ?>
    */
    window.onload=function(){
        var validate = function(evt){
            // your custom code, e.g.:
            valid = true;
            if ($('.16th').val() !== "sCat-<?php echo $numProj; ?><?php echo $numC ?>") {
                //valid = false;
                $('.16thup').css('display', 'none');
                //$('#a').addClass("invalid");
            } else {
                //$('#a').removeClass("invalid");
                $('.16thup').css('display', 'block');
            }
            //return valid;
        }

        $('#myform').change(validate);
        $('#myform').submit(validate);
        }

    </script>
4

1 回答 1

0

您可以将验证绑定到更改事件以及提交

http://api.jquery.com/change/

于 2013-07-30T18:09:32.037 回答