Javascript Angularjs-当复选框未选中时,如何返回到以前的状态
我对angularjs是新手 Html文件:Javascript Angularjs-当复选框未选中时,如何返回到以前的状态,javascript,jquery,ajax,angularjs,checkbox,Javascript,Jquery,Ajax,Angularjs,Checkbox,我对angularjs是新手 Html文件: <div class='col-md-2 searchdisplay-col1' ng-controller="amenitiesController" style="margin-top:20px"> <h4>Amenities</h4> <label ng-repeat="facilityName in facilityNames" style="display:block;">
<div class='col-md-2 searchdisplay-col1' ng-controller="amenitiesController" style="margin-top:20px">
<h4>Amenities</h4>
<label ng-repeat="facilityName in facilityNames" style="display:block;">
<input
type="checkbox"
name="{{facilityName.name}}"
value="{{facilityName.id}}"
ng-checked=""
ng-click="lodgeFilter($event,facilityName.id)"
/> {{facilityName.name}}
</label>
</div>
示例Json
[
{
"facility": {
"id": 1,
"name": "Internet"
}
},
{
"facility": {
"id": 2,
"name": "Bar"
}
}
]
现在,当我单击复选框时,我得到了预期的结果。但是当我取消选中它时,它仍然处于相同的状态,我如何使它进入初始状态?您可能需要为您的自定义值向复选框添加
ng true value
和ng false value
查看此链接您可以按如下方式使用“ng模型”(即使对象中不存在键“模型”):
HTML:
<div class='col-md-2 searchdisplay-col1' ng-controller="amenitiesController" style="margin-top:20px">
<h4>Amenities</h4>
<label ng-repeat="facilityName in facilityNames" style="display:block;">
<input
type="checkbox"
name="{{facilityName.name}}"
value="{{facilityName.id}}"
ng-checked=""
ng-click="lodgeFilter($event,facilityName.id)"
/> {{facilityName.name}}
</label>
</div>
演示:使用
ng模型
+ng真值
和ng假值
将一些数据绑定到复选框,并在lodgeFilter
函数中观察特定的模型属性。通过这种方式,您将能够检测复选框是否被勾选,并相应地采取行动。问你一个问题:你对DHTML(Javascript+HTML)编程也相当陌生吗?既然每个复选框都在一个循环中,我该如何绑定它们?是的,我对(javascript+Html)相当陌生,我不能提供plunker代码,因为复选框是从本地json数据生成的,并且它不在任何服务器上托管。是的,我查看了它,但我不知道如何分配它,因为复选框在循环中,我是从json数据生成的。您能给出一个json数据示例吗。检查一下,告诉我这就是你想要的。在你的JSON中,前一个值是什么?它是未选中的值吗?当我单击复选框时,新的html代码会根据json数据动态生成,因此当我取消选中它时,旧的html代码应该是genrated.so on ng change=“someFunc()”即。选中时,我从json获得结果。现在取消选中,我必须回到初始状态。如何做到这一点?@Arun I添加了一个验证,您可以使用它。事实上,这是一种处理应用程序逻辑的简单方法
<label ng-repeat="value in values">
<input
type="checkbox"
ng-model="value.model"
ng-change="someFunc($event, value.model, value.id)"
/> {{value.id}}
</label>
function MainCtrl ($scope) {
$scope.values = [
{id:1},
{id:2},
{id:3}
];
$scope.someFunc = function (event, active, id) {
if ( active ) {
alert('Change detected: '+id);
// HTTP request code
}
// Some code
};
}