javascript
  • angularjs
  • 2014-01-12 1 views 1 likes 
    1

    나는 angular.js를 처음 사용하며 체크 박스가있는 HTML 목록을 만들려고 했으므로 사용자가 체크 박스를 선택하면 자바 스크립트 함수를 호출해야했습니다. . 그래서 여기 확인란을 선택했을 때만 함수 호출

    <input id='box' ng-model='" + key + "' ng-change='graphquery(\"" + key + "\")' class = 'queryNameList css-checkbox' type = 'checkbox' /> 
    

    , 나는 그것을에만이를 호출해야합니다 같은

    은 가능 지정하는 조건입니다 (확인 및 선택 해제) 두 경우에 기능 를 호출, 기본적으로 모든 변경 사항을 캡처 ng-change을 사용했다 확인란을 선택하면 작동합니다. 문서에서

    답변

    1
    $scope.graphquery = function(key){ 
        if(!$scope[key]){ 
        //do nothing 
        return; 
        } 
    
    //do something 
    } 
    
    -4
    document.getElementById('box').addEventListener('change', function(){ 
    if(this.checked === true) runMyFunction(); 
    }); 
    
    0

    확인 this example.

    체크 상자의 ngModel이 true 또는 false 인 것 같습니다. 그러면 ngChange에 지정한 함수로 전달됩니다. 진리 값 또는 거짓 값을 지정하려면 ngTrueValuengFlaseValue 지시문을 사용할 수 있습니다.

    이 부분은 Plunk입니다.

    var app = angular.module('plunker', []); 
    
    app.controller('MainCtrl', 
        function($scope) { 
    
        $scope.graphQuery = function(key) { 
         if (key) 
         $scope.key = key 
        } 
    
        $scope.returnKey = function() { 
         return '123' 
        } 
        } 
    ) 
    

    그리고 HTML

    <body ng-controller="MainCtrl"> 
        <input id='box' ng-model='key' ng-change='graphQuery()' class='queryNameList css-checkbox' 
         type='checkbox' ng-true-value="{{returnKey()}}" /> 
    
        <pre>Key: {{key}}</pre> 
    </body> 
    

    그래서에서

    은, 당신이하고 싶은 확인입니다 key의 값은 true 또는 false입니다 만 값이 true 때 코드를 실행하고 사용자가 지정할 수있는 경우 함수는 ng-true-value에서 true의 경우 문자열을 반환합니다. 확인란을 선택하면

    4
    ng-change="!key || graphQuery(key)" 
    

    !key 그렇게 graphQuery(key) 실행, false에 해결합니다.

    확인란이 선택되어 있지 않은 경우 !keytrue으로 변경되므로 || 이후의 모든 항목은 무시됩니다.

    관련 문제