在加载时默认选中Angularjscheckbox,并在选中时禁用select列表

noob在堆栈溢出这里。 我正在一个具有传输工作function的网页上工作。 这样,用户可以选中一个checkbox将作业发送回办公室,或从所有可用列表中select一名技术人员。 我的问题是如何设置checkbox,以便在页面加载时默认选中,并相应地禁用select列表。 这里是我目前的代码:

<div ng-app=""> Send to Office: <input type="checkbox" ng-model="checked" ng-checked="true"><br/> <select id="transferTo" ng-disabled="checked"> <option>Tech1</option> <option>Tech2</option> </select> </div> 

这里是一个jsfiddle它: http : //jsfiddle.net/hugmungus/LvHJw/5/

目前,页面加载与checkbox选中,但列表不禁用。 如果您取消选中,然后重新检查它,列表将被禁用。

谢谢您的帮助!

3 Solutions collect form web for “在加载时默认选中Angularjscheckbox,并在选中时禁用select列表”

如果你使用ng-model,你不想也使用ng-checked。 相反,只需将模型variables初始化为true。 通常情况下,您可以在pipe理您的页面的控制器中执行此操作(添加一个)。 在你的小提琴中,我只是为了演示而在ng-init属性中进行初始化。

http://jsfiddle.net/UTULc/

 <div ng-app=""> Send to Office: <input type="checkbox" ng-model="checked" ng-init="checked=true"><br/> <select id="transferTo" ng-disabled="checked"> <option>Tech1</option> <option>Tech2</option> </select> </div> 

在控制器(控制器,如下面的语法)

控制器:

 vm.question= {}; vm.question.active = true; 

形成

 <input ng-model="vm.question.active" type="checkbox" id="active" name="active"> 

你并不需要这个指令,可以用ng-init和ng-checked来实现。 下面的演示链接显示如何在angularjs中设置checkbox的初始值。

演示链接 :

 <form> <div> Released<input type="checkbox" ng-model="Released" ng-bind-html="ACR.Released" ng-true-value="true" ng-false-value="false" ng-init='Released=true' ng-checked='true' /> Inactivated<input type="checkbox" ng-model="Inactivated" ng-bind-html="Inactivated" ng-true-value="true" ng-false-value="false" ng-init='Inactivated=false' ng-checked='false' /> Title Changed<input type="checkbox" ng-model="Title" ng-bind-html="Title" ng-true-value="true" ng-false-value="false" ng-init='Title=false' ng-checked='false' /> </div> <br/> <div>Released value is <b>{{Released}}</b></div> <br/> <div>Inactivated value is <b>{{Inactivated}}</b></div> <br/> <div>Title value is <b>{{Title}}</b></div> <br/> </form> // Code goes here var app = angular.module("myApp", []); app.controller("myCtrl", function ($scope) { });