我正在使用AngularJS沿着Twitter Bootstrap,我想让两个单选按钮看起来像普通的Bootstrap按钮。我在jsFiddle上找到了this example,将其应用到我的案例中后,一切看起来都很好,但它不能正常工作。
我想将单选按钮绑定到Angular中的模型。下面是我的代码:
<div class="btn-group btn-group-lg btn-group-justified" data-toggle="buttons">
<label class="btn btn-default">
<input type="radio" name="isMad" ng-model="isMad" ng-value="false" /> No
</label>
<label class="btn btn-default">
<input type="radio" name="isMad" ng-model="isMad" ng-value="true" /> Yes
</label>
</div>
<h1>
I am mad: {{ isMad }}
</h1>
下面是单击“否”(单选)按钮的结果:
因此,该模型根本不受约束。当我从按钮组中删除data-toggle属性时,一切都正常工作,但单选按钮只是在Bootstrap按钮的顶部可视化,如下图所示:
我应该怎么做才能让Bootstrap按钮看起来像第一张图片中的这些,并在第二张图片中正确地与AngularJS模型绑定?
3条答案
按热度按时间6bc51xsx1#
我想你不是唯一一个对这个问题感到愤怒的人。目前我正面临着同样的问题。
让我给你看看我的解决方法:
要理解的关键点是删除
data-toggle="buttons"
,它添加了导致错误的额外JavaScript逻辑。然后在同一输入中隐藏带有class="hide"
的复选框,然后根据您的支持模型对象的值“手动”设置活动状态。sigwle7e2#
下面是我在以前的项目中使用自定义指令处理作用域的方法。以这种方式将自定义指令与隔离范围一起使用是可选的。使用ng-controller它应该仍然可以工作区别是在控制器中设置单选按钮,而不是使用
ng-repeat
渲染的html。(working Plnkr)radius.html
radius.directive.js
index.html的主体
ippsafx73#
编码明智的正确。你似乎没有使用合适的Angulerjs版本。您使用的是哪个版本?尝试1.3