אנגולר - שינוי בCHECKBOX

Y.G.J

New member
אנגולר - שינוי בCHECKBOX

יש לי CHECKBOX ובלחיצה עליו אני מצליח לקבל את הערך של אם הוא מסומן או לא.
אם אני מוסיף
ng-true-value="{{ x.AT_ID }}" ng-false-value="{{ x.AT_ID }}"
אז אני מקבל את הערכים המספריים

אני רוצה לקבל את הCHECKBOX כאובייקט ושאוכל לגשת לשני הפרמטרים כדי לשלוח את שניהם לשרת. גם אם הוא סומן וגם את הערך המספרי שלו.
 

Y.G.J

New member
קוד דוגמא

זה הHTML
קוד:
<div class="row">
                <div class="col-sm-12 col-md-5">
                    <div class="form-group row" ng-repeat="x in myData" row-repeat-directive>
                        <div class="col-sm-12 col-md-6">
                            <div class="col-xs-2 col-md-1">
                                <input type="checkbox" ng-model="UP_chk" value="{{ x.AT_ID }}" ng-checked="x.CHECKED=='True'" ng-change="setChk(UP_chk, {{ x.AT_ID }})" /></div>
                            <div class="col-xs-10 col-md-8">{{ x.AT_NAME }}</div>
                        </div>
                        <div class="clearfix visible-xs-block"></div>
                        <div class="col-sm-12 col-md-6">
                            <div class="col-xs-6 col-md-6">program</div>
                            <div class="col-xs-6 col-md-6">
                                <input type="text" class="form-control numericOnly" name="an_{{ x.AT_ID }}" value="{{ x.AT_ALLOWED_NUMBER }}" /></div>
                        </div>
                    </div>
                </div>
            </div>

זה הANGULAR
קוד:
var app = angular.module('PermissionYears', []).directive('rowRepeatDirective', function () {
        return function (scope, element, attrs) {
            if (scope.$last) {
                $(".numericOnly").inputmask("numeric");
            }
        };
    });

    app.controller('permissions', function ($scope, DataService) {

        $scope.getData = function (value) {
            DataService.getData(value).then(function (result) {
                $scope.myData = result.data.Data;
            }, function (result) {
                alert("error");
            });

        };

        $scope.setChk = function (value, id) {
            alert("g");
            DataService.setChk(value, id).then(function (result) {
                //$scope.myData = result.data.Data;
                console.log(value);
            }, function (result) {
                alert("error");
            });

        };
    });

    app.factory('DataService', ['$http', '$q', function ($http) {
        var factory = {
            getData: function (value) {
                var data = $http({
                    method: 'POST',
                    dataType: "json",
                    data: $.param({ action: 'getList', orgid: $("#<%=Org_ID.ClientID%>").val(), SelectedYear: value }),
                    url: "OrganisationPermissionsAction.ashx",
                    headers: {"Content-Type": "application/x-[URL='http://www-form-urlencoded']www-form-urlencoded[/URL]"}
                });

                return data;
            },
            setChk: function (value, id) {
                var data = $http({
                    method: 'POST',
                    dataType: "json",
                    data: $.param({ action: 'setPermission', orgid: $("#<%=Org_ID.ClientID%>").val(), SelectedYear
 

Y.G.J

New member
לא יודע למה הקוד לא עלה

מאחר ויש קריאה משרת חיצוני אז לא מצליח להריץ שם את הקוד

קוד:
var app = angular.module('PermissionYears', []).directive('rowRepeatDirective', function () {
        return function (scope, element, attrs) {
            if (scope.$last) {
                $(".numericOnly").inputmask("numeric");
            }
        };
    });

    app.controller('permissions', function ($scope, DataService) {

        $scope.getData = function (value) {
            DataService.getData(value).then(function (result) {
                $scope.myData = result.data.Data;
            }, function (result) {
                alert("error");
            });

        };

        $scope.setChk = function (value, id) {
            alert("g");
            DataService.setChk(value, id).then(function (result) {
                //$scope.myData = result.data.Data;
                console.log(value);
            }, function (result) {
                alert("error");
            });

        };
    });

    app.factory('DataService', ['$http', '$q', function ($http) {
        var factory = {
            getData: function (value) {
                var data = $http({
                    method: 'POST',
                    dataType: "json",
                    data: $.param({ action: 'getList', orgid: $("#<%=Org_ID.ClientID%>").val(), SelectedYear: value }),
                    url: "OrganisationPermissionsAction.ashx",
                    headers: {"Content-Type": "application/x-[URL='http://www-form-urlencoded']www-form-urlencoded[/URL]"}
                });

                return data;
            },
            setChk: function (value, id) {
                var data = $http({
                    method: 'POST',
                    dataType: "json",
                    data: $.param({ action: 'setPermission', orgid: $("#<%=Org_ID.ClientID%>").val(), SelectedYear: $("#<%=ddlOrganisation_Permissions_Year.ClientID%>").val(), value: id, state: value }),
                    url: "OrganisationPermissionsAction.ashx",
                    headers: {"Content-Type": "application/x-[URL='http://www-form-urlencoded']www-form-urlencoded[/URL]"}
                });

                return data;
            }
        }
        return factory;
    }]);
 

פרסאוס

New member
שוב שאלה לא ברורה

ושוב צירפת קוד כאן במקום באתרים שציינתי.
כל הרעיון של צ'קבוקס שאין לו ערך מספרי, אלא סומן או לא. כך שלא ממש אפשר להבין מה מתבקש.
אני אנחש שיש לך כמה והרעיון הוא למצוא מי מהם.
אני מציע את הדוגמה הזאת:
https://plnkr.co/edit/DurbVDIeDhP7CGGLZO03
 
למעלה