我有一个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>
有关它的任何想法?提前谢谢。
答案 0 :(得分:1)
不确定;页面重新加载,可见性将重置。
一个选项是移动决定是否将表单部分隐藏到单独(命名)函数中的逻辑,并在document.ready以及下拉列表的change事件上调用该函数一次。
答案 1 :(得分:0)
提取您的逻辑以隐藏将表单显示在自己的函数中。在change事件上调用此函数,并在文档就绪时调用它。