Cómo pasar ng-model como parámetro a ng-mousedown

programación


Tengo una página html en esta página. Quiero pasar el valor de ng-model como parámetro a ng-mousedown: –

Y tengo un archivo js con respecto al archivo html donde escribo código angular en este archivo. Tengo una función que es VERIFICAR (texto de búsqueda), quiero llamarlo en el evento de mousedown pero obtengo el parámetro de texto de búsqueda como indefinido.

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;
   
    }
});

Lo que he probado:

Tengo una página html en esta página. Quiero pasar el valor de ng-model como parámetro a ng-mousedown: –

Y tengo un archivo js con respecto al archivo html donde escribo código angular en este archivo. Tengo una función que es VERIFICAR (texto de búsqueda), quiero llamarlo en el evento de mousedown pero obtengo el parámetro de texto de búsqueda como indefinido.

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;
   
    }
});

Solución 1

intenta así

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をコピーしました