隐藏表单的一部分

时间:2009-10-15 14:37:23

标签: javascript jquery asp.net-mvc css validation

我有一个asp.net mvc应用程序,我想根据下拉列表中的选定行隐藏/显示表单的一部分。这是由jQuery脚本完成的:

<script type="text/javascript" >
    $(document).ready(function() {
        $('#owners').change(function() {
            $("select option:selected").each(function() {
                $('.location').css("display", "none");
                $('#canDeleteUsers').css("display", "none");                    
            });
            if (($("option:selected").attr("value")) == "") {
                $("select option:selected").each(function() {
                    $('.location').css("display", "block");
                    $('#canDeleteUsers').css("display", "block");
                });
            }
        });
    });            
</script>

现在的问题是,当用户违反某些逻辑并再次返回View以进行验证时,如果下拉列表被选择为变体(应该隐藏表单部分),它仍会出现。< / p>

有关它的任何想法?提前谢谢。

2 个答案:

答案 0 :(得分:1)

不确定;页面重新加载,可见性将重置。

一个选项是移动决定是否将表单部分隐藏到单独(命名)函数中的逻辑,并在document.ready以及下拉列表的change事件上调用该函数一次。

答案 1 :(得分:0)

提取您的逻辑以隐藏将表单显示在自己的函数中。在change事件上调用此函数,并在文档就绪时调用它。