Comment passer ng-model comme paramètre à ng-mousedown

la programmation


j’ai une page html sur cette page, je veux transmettre la valeur de ng-model en tant que paramètre à ng-mousedown :-

Et j’ai un fichier js par rapport au fichier html où j’écris du code angulaire dans ce fichier. J’ai une fonction qui est CHECK(searchtext), je veux l’appeler lors d’un événement mousedown mais j’obtiens le paramètre searchtext comme non défini,

Javascript
/// <reference path="library/angular.js" />


'use strict';

var app = angular.module('demo', ['ngSanitize', 'ui.select']);
app.filter('propsFilter', function () {
 
    return function (items, props) {
        var out = [];

        if (angular.isArray(items)) {
            var keys = Object.keys(props);

            items.forEach(function (item) {
              var itemMatches = false;
                  //itemMatches = true;// when data will populate from database.
                for (var i = 0; i < keys.length; i++) {
                    var prop = keys[i];
                    var text = props[prop].toLowerCase();
                    if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {
                     //  itemMatches = false;
                         itemMatches = true;// when data will populate from database.

                        break;
                    }
                }
              
                if (itemMatches) {
                    out.push(item);
                }
            });
        } else {

            out = items;
        }

        return out;
    };
});

app.controller('DemoCtrl', function ($scope) {
  
    var result = this;
    result.tagTransform = function (newTag) {

        var item = {
            name: newTag


        };

        return item;
    };
    //var str = "January,February,March,April,May,June,July,August,September,October singh";
    //var splittedString = str.split(',');
    var arr = [];
    //splittedString.forEach(function (v) {
    //    arr.push({ name: v });
    //});

    var arr = [
        {
           
            "name": "TCS",
            "Access": "TATA"

        },
        {
          
            "name": "GG",
            "Access": "GOOGLE"

        },

        {
           
            "name": "MS",
            "Access": "Micosoft"

        }
    ];
    result.people = arr;
    result.colors = ['Blue', 'Red'];
    result.selectedPeople2 = result.selectedPeople;

    $scope.check = function (searchText) {
        debugger;
        var Forsecond="";
          var ff = searchText[0];
          var dd = ff.name;
          if(dd==ff.name)
          {
              Forsecond= ff.Access;
          }
          return Forsecond;
   
    }
});

Ce que j’ai essayé :

j’ai une page html sur cette page, je veux transmettre la valeur de ng-model en tant que paramètre à ng-mousedown :-

Et j’ai un fichier js par rapport au fichier html où j’écris du code angulaire dans ce fichier. J’ai une fonction qui est CHECK(searchtext), je veux l’appeler lors d’un événement mousedown mais j’obtiens le paramètre searchtext comme non défini,

Javascript
/// <reference path="library/angular.js" />


'use strict';

var app = angular.module('demo', ['ngSanitize', 'ui.select']);
app.filter('propsFilter', function () {
 
    return function (items, props) {
        var out = [];

        if (angular.isArray(items)) {
            var keys = Object.keys(props);

            items.forEach(function (item) {
              var itemMatches = false;
                  //itemMatches = true;// when data will populate from database.
                for (var i = 0; i < keys.length; i++) {
                    var prop = keys[i];
                    var text = props[prop].toLowerCase();
                    if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {
                     //  itemMatches = false;
                         itemMatches = true;// when data will populate from database.

                        break;
                    }
                }
              
                if (itemMatches) {
                    out.push(item);
                }
            });
        } else {

            out = items;
        }

        return out;
    };
});

app.controller('DemoCtrl', function ($scope) {
  
    var result = this;
    result.tagTransform = function (newTag) {

        var item = {
            name: newTag


        };

        return item;
    };
    //var str = "January,February,March,April,May,June,July,August,September,October singh";
    //var splittedString = str.split(',');
    var arr = [];
    //splittedString.forEach(function (v) {
    //    arr.push({ name: v });
    //});

    var arr = [
        {
           
            "name": "TCS",
            "Access": "TATA"

        },
        {
          
            "name": "GG",
            "Access": "GOOGLE"

        },

        {
           
            "name": "MS",
            "Access": "Micosoft"

        }
    ];
    result.people = arr;
    result.colors = ['Blue', 'Red'];
    result.selectedPeople2 = result.selectedPeople;

    $scope.check = function (searchText) {
        debugger;
        var Forsecond="";
          var ff = searchText[0];
          var dd = ff.name;
          if(dd==ff.name)
          {
              Forsecond= ff.Access;
          }
          return Forsecond;
   
    }
});

Solution 1

essaie comme ça

HTML
<html>
<head>
    <title></title>    
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
    <script>
        var app = angular.module('myapp', []);
        app.controller('myctrl', myfun);
        function myfun($scope) {
            $scope.myTextValue = 'This is textbox';
           
            $scope.check = function (model) { 
                alert(model.myTextValue);// or   alert($scope.myTextValue);
            }
        }
    </script>
</head>

<body ng-controller="myctrl" ng-app="myapp">
    <input type="text" ng-model="myTextValue" ng-mousedown="check(this)" />     
</body>
</html>

コメント

タイトルとURLをコピーしました