AngularJS - 在元素返回时运行检查

时间:2017-03-07 19:52:55

标签: javascript jquery angularjs

我跟着这个 JSFiddle示例在我的javascript中从数组对象创建一个小搜索框。现在经过对search.objectfilter:search:strict的一些调整和研究。现在我已正确过滤,我修改了模板中的一个复选框,该模板在加载文档时进行检查,并根据json数组更新的html中的自定义数据属性打开或关闭。

如果有人清除搜索并再次显示旧项目,我该如何运行此检查?

在HTML中我有这个模板

<div ng-repeat="o in objects | filter:search:strict | orderBy:'obj_name'" class="objectContainer">
<h3>{{o.obj_name}}</h3>
    <label class="userToggleSwitch" >
        <input class="userToggleInput" data-isactive="{{o.obj_isactive}}" type="checkbox">
        <div class="slider round"></div>
    </label>
</div>

在JS中

angular.element(document).ready(function(){

angular.module('searchApp',[])
    .controller('searchCtrl', ['$scope','objHolder',function ($scope,objHolder) {
        $scope.search = '';
        $scope.objects = [];

        $scope.objects = objHolder.getobjects();

    }])
    // fake service, substitute with your server call ($http)
    .factory('objHolder',function(){
        var objects = objList;
        return {

            getobjects : function(){
                return objects;
            }
        };
    });
});

修改文档加载项的JS正在使用像这样的jquery

$(document).ready(function(){

//console.log($('.userToggleInput'));
$.each($('.userToggleInput'), function(){

if($(this).data("isactive") == 1){$(this).attr('checked', true);}
if($(this).data("isactive") == 0){$(this).attr('checked', false);}
})

$('.userToggleInput').click(function(){
    if ($(this).attr('checked') == undefined) {

        // THIS IS WHERE WE WILL MAKE AN AJAX CALL TO A PHP CLASS 
        // TO REQUEST IF THE USER CAN BE TURNED ON - DUE TO LIC RESTRICTIONS
        $(this).attr('checked',true);
    } else {
        $(this).attr('checked',false);
    }
    //console.log($(this).attr('checked'));

});
});

Created JS Fiddle to assist in Helping in this manner

0 个答案:

没有答案