【发布时间】:2015-09-10 09:05:55
【问题描述】:
我有一个使用两个单选按钮的表单切换器:
<form>
<div class="btn-group">
<div class="radio">
<label class="btn btn-info">
<input type="radio" name="formSwitcher" id="gNr" ng-model="vm.formSwitcher" value="gNr" /> Form for new G
</label>
</div>
<div class="radio">
<label class="btn btn-info">
<input type="radio" name="formSwitcher" id="pNr" ng-model="vm.formSwitcher" value="pNr" /> Form for new P
</label>
</div>
</div>
</form>
<div ng-show="vm.formSwitcher == 'gNr' ">
<form> ... </form>
</div>
<div ng-show="vm.formSwitcher == 'pNr' ">
<form> ... </form>
</div>
这按预期工作,我选择了一个单选按钮并相应地显示/隐藏相应的表单。
当我将data-toggle="buttons" 添加到上面的第二行<div class="btn-group"> 时,ng-hide 停止工作,但视觉状态的变化(显示为按下或未按下)工作正常。
<div class="btn-group" data-toggle="buttons">
当我删除data-toggle 时,我没有得到按钮颜色的变化来显示选择了哪个收音机(收音机黑点仍然正确显示)。
为什么data-toggle="buttons" 会阻止ng-show 工作?客户希望看到按钮/收音机在选择时改变颜色。
【问题讨论】:
-
如果你不是这个意思,为问题构造jsfiddle
-
这里没必要用jsFiddle,我觉得不用这个就够简单了。不熟悉的人可以在这里看到单选按钮的行为:getbootstrap.com/javascript/#buttons-checkbox-radio 任何回答这个问题的人都应该已经熟悉 ng-show
标签: html angularjs twitter-bootstrap ng-show