Javascript 复选框按钮不工作
我正在使用一组复选框作为引导按钮,以便有一个不同的样式,而不是传统的复选框。代码如下:Javascript 复选框按钮不工作,javascript,jquery,css,angularjs,twitter-bootstrap,Javascript,Jquery,Css,Angularjs,Twitter Bootstrap,我正在使用一组复选框作为引导按钮,以便有一个不同的样式,而不是传统的复选框。代码如下: <div class="btn-group" data-toggle="buttons"> <label class="btn btn-primary" id="area_selection_checkbox"> <input type="checkbox" ng-model="study_area.a" ng-true-valu
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary" id="area_selection_checkbox">
<input type="checkbox" ng-model="study_area.a" ng-true-value="'design'" autocomplete="off"/> Design
</label>
<label class="btn btn-primary" id="area_selection_checkbox">
<input type="checkbox" ng-model="study_area.b" ng-true-value="'economics'" autocomplete="off"> Economics
</label>
<label class="btn btn-primary" id="area_selection_checkbox">
<input type="checkbox" ng-model="study_area.c" ng-true-value="'management'" autocomplete="off"> Management
</label>
<label class="btn btn-primary" id="area_selection_checkbox">
<input type="checkbox" ng-model="study_area.d" ng-true-value="'marketing'" autocomplete="off"> Marketing
</label>
<label class="btn btn-primary" id="area_selection_checkbox">
<input type="checkbox" ng-model="study_area.e" ng-true-value="'software engineering'" autocomplete="off"> Software engineering
</label>
<label>
<input type="checkbox" ng-model="softskill_filter.e" ng-true-value="'creativity'"/>
Creativity
</label>
<tt>value1 = {{study_area}}</tt><br/>
</div>
问题是,当我单击按钮时,ng model
不会更新,就像复选框根本不存在一样。
我甚至在我的页面上有ng型号的代码,但它什么也没有:
<tt>value1 = {{study_area}}</tt><br/>
value1={{study\u area}}
我是不是遗漏了什么。顺便说一句,我使用的是Bootstrap3.3.7。谢谢。您正在使用角度指令。您正在加载angular.js吗?没有必要禁用复选框上的自动完成-忽略该选项。看看ng repeat,因为您正在模板中创建重复的代码
在角度控制器中定义了您的选择
this.currentChoice = 'a';
this.availableChoices = [{
id: 'choice-a',
label: 'Choice A',
value: 'a'
}, {
id: 'choice-b',
label: 'Choice B',
value: 'b'
}
];
然后在模板中执行以下操作:
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-primary" id="{{choice.id}}" ng-repeat="choice in ctrl.availableChoices">
<input type="checkbox" ng-model="ctrl.currentChoice" ng-true-value="'{{choice.value}}'"/> {{choice.label}}
</label>
</div>
{{choice.label}
我写这篇文章时没有测试,也不知道您使用的是哪个版本的angular。请记住,angular代码的语法在这里和那里都发生了变化。但是,您应该了解如何改进代码。我已经创建了一个运行良好的小提琴。唯一的区别是我已经注入了AngularUI引导
var app = angular.module('myapp', ['ui.bootstrap']);
看起来像是你想做的
这就是你想要达到的目标吗
不能对多个复选框使用相同的id,因为id对于整个文档是唯一的。如果它们相关,则将标识符用作类名或名称属性。请阅读规范:@scrasedcola我已将其放在类名中,但问题仍然存在。与其显示您复选框的css,不如为您的模型提供代码,因为您声明问题在于模型更新?@scrasedcola我最终更新了代码。我只是在打印我的模型,但它没有显示任何东西。是的,你的小提琴可以工作,但奇怪的是,我已经在我的主模块上注入了它…这取决于当时使用的版本。您使用的是什么版本?发布完整的代码,以防出现其他问题。我正在使用Angular 1.6.1和Bootstrap 3.3.7。尽管如此,我删除了data toggle=“buttons”
,复选框开始工作,但勾号再次出现。我已经更新了小提琴,只使用Angular 1.6.1和Bootstrap 3.3.7,一切正常。你还没有发布你的代码。也许这与初始化角度代码的方式有关?发布您的角度代码。您需要什么文件?如果需要进一步帮助,请在问题中添加角度控制器/指令逻辑。
var app = angular.module('myapp', ['ui.bootstrap']);