Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs-当复选框未选中时,如何返回到以前的状态_Javascript_Jquery_Ajax_Angularjs_Checkbox - Fatal编程技术网

Javascript Angularjs-当复选框未选中时,如何返回到以前的状态

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;">

我对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;">
        <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
    };
}