2014-12-11 54 views
0

我似乎无法让我的div元素基于一个隐藏的输入值,根据下面的代码来显示显示div元素:AngularJS尝试基于隐藏输入值不工作

<form method="post"> 
    <fieldset data-ng-app=""> 
    <input type="hidden" id="Method" name="Method" value="1" data-ng-model="methodType" /> 
    <div data-ng-show="methodType=='1'">Method 1</div> 
    <div data-ng-show="methodType=='2'">Method 2</div> 
    </fieldset> 
</form> 

无的加载页面时显示div元素。当我将输入的类型更改为“文本”时,它似乎可以工作,但是我不得不手动输入值,以便相应地显示/隐藏。我可以得到这方面的帮助吗?

+2

设置值不会自动ng模型,因为这不是角度工作的方式。你通常不会处理价值,而只是处理模型和绑定...... – PSL 2014-12-11 01:17:32

+0

我也没有看到我习惯看到的控制器定义。 – rchang 2014-12-11 01:20:38

+0

@rchang:我在WWW上看到过你不需要控制器的例子。此外,当我将输入类型更改为“文本”时它似乎工作。 – 2014-12-11 01:24:16

回答

2

角度不会识别将模型设置为值,除非输入与交互 - 例如在单选按钮上。

如果您要做的是在负载上设置模型值,请将其设置在控制器中,或使用data-ng-init而不是隐藏输入。

<form method="post"> 
    <fieldset data-ng-app="" data-ng-init="methodType = 1"> 
    <div data-ng-show="methodType == 1">Method 1</div> 
    <div data-ng-show="methodType == 2">Method 2</div> 
    </fieldset> 
</form>