我是使用 Angular js 进行 Web 开发的新手。我正在尝试使用类显示和隐藏 div 内的文本框。我有两个单选按钮"is"和“否”。因此,我尝试在单击"is"时显示包含文本框的 div,并在单击“否”时隐藏。
现在,我尝试仅使用 ng-class 和 ng-model 来完成此操作,而不使用 ng-show/ng-hide。
当我使用 ng-checked="true"默认单击单选按钮(说"is")时,为什么 div 不显示,仅在再次单击按钮时显示。 ng-checked 不适用于 ng-class。
Fiddle
<label class="ui-radio checkbox-inline"> <input type="radio" name="toggle1" data-check="1" value="Yes" ng-model="request_same" /> <span> Yes </span> </label>
<label class="ui-radio checkbox-inline"> <input type="radio" ng-Checked="true" name="toggle1" data-check="2" value="No" ng-model="request_same" /> <span> No </span> </label>
最佳答案
不要使用ng-check
,它只会选择一个单选框,但不会更新 ng-model 值。使用 ng-init 并设置 model 的值,而不是进行 ng-checked。
工作 HTML
<div ng-app>
<div class="radioToggle1">
<div class="col-xs-12 form-group" id="request_same" ng-init="request_same='Yes'" >
<p>Yes or no</p>
<label class="ui-radio checkbox-inline">
<input type="radio" name="toggle1" data-check="1" value="Yes" ng-model="request_same" /> <span> Yes </span>
</label>
<label class="ui-radio checkbox-inline">
<input type="radio" name="toggle1" data-check="2" value="No" ng-model="request_same" /> <span> No </span>
</label>
</div>
<div data-show="1" ng-class="{ active : request_same == 'Yes' }" class="hide-div">
<div class="col-xs-12 col-md-12 borderTop">
<h5> <strong> Vendor Details </strong> </h5>
<input type="text" />
</div>
</div>
</div>
<div data-show="2"></div>
</div>
刚刚添加了 hide-div
类来默认隐藏 div。之后ng-class
将根据条件决定是否显示元素。
希望这可以帮助你。谢谢。
关于javascript - Radiobuttons ng-checked 默认情况下不显示 div 并且仅在 onclick 时起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096240/