0

在我的cshtml文件中,我有一个名为“ApplyMedicalMain”的表单,我想在表单脏时显示动态加载的除法,但即使表单脏了也不会发生......

以下是我在 Firefox Inspect Element 中获得的代码:

<form class="form_section ng-dirty ng-valid ng-valid-required" name="ApplyMedicalMain" method="post" action="/MVC/Quote/ApplyMedical">
<div id="Step1_PartialView" class="QuoteStep1">
<script type="text/javascript" src="/Scripts/Renderings/Presales/ApplyMedical.js">
<div name="Conditions" id="conditions_or_symptoms" ng-hide="ApplyMedicalMain.$dirty">
<div class="generic_error_message select">
<div class="error_icn_message"></div>
</div>

正如你在上面看到的,我已经提到了 ng-hide 的部门名称='conditions',但即使表单有类 'ng-dirty',它也没有被隐藏。请注意,部门 'conditions' 已加载从其他局部视图动态。有人能帮我吗 ?

4

2 回答 2

0

我不完全确定为什么您的示例不起作用,但我建议您使用 css 进行隐藏/显示,而不是使用 angular 的绑定:

form.ng-dirty .hide-on-dirty{
    display:none;
}

接着:

<form class="form_section ng-dirty ng-valid ng-valid-required" name="ApplyMedicalMain" method="post" action="/MVC/Quote/ApplyMedical">
        <div id="conditions_or_symptoms" class="hide-on-dirty"> ... </div>
</form>

这比创建与表单控制器状态的绑定更有效。但这只是一个想法。您想要进行绑定可能还有更多原因。

于 2013-10-25T15:19:28.147 回答
0

您忘记将所有内容包装在“ng-app”容器中,这是一个工作示例(我清理了一些代码)

<div ng-app>
    <form class="form_section ng-dirty ng-valid ng-valid-required" id="ApplyMedicalMain" method="post">
        <div ng-hide="ApplyMedicalMain.$dirty">Hidden when dirty</div>
        <div ng-show="ApplyMedicalMain.$dirty">Shown when dirty</div>
    </form>
</div>
于 2013-10-25T15:12:26.153 回答