angularjs:使用所选控件进行过滤

时间:2014-07-23 11:59:32

标签: angularjs jquery-chosen

Not Working jsfiddle

任何想法为什么过滤没有踢?我期待在控制器中选择类似于Working Fiddle的忍者猫。

var app = angular.module( 'catapp', [ 'localytics.directives' ] );

app.directive('petConverter', function() {
    return{
        restrict:'A',
        require: 'ngModel',
        link: function(scope, element, attr, ngModel) {

            ngModel.$formatters.push(function(valueFromModel){
                    var target1 = [];
                    for (var i = 0; i < valueFromModel.length; i++) {
                        target1.push(valueFromModel[i].type);
                    }
                    return target1;
            });
        }
    }
});

app.controller( 'CatController', function ( $scope ) {


    $scope.lol = { cats: [
        'longcat',
        'ninjacat',
        'monorail cat'
    ]};

    $scope.myModel = [{type:'ninjacat'}];

});

1 个答案:

答案 0 :(得分:0)

指令中的拼写错误很少,我在小提琴中解决它们,这里是updated fiddle

更新了指令代码:

.directive('petConverter', function() {
    return{
        restrict:'A',
        require: 'ngModel',
        link: function(scope, element, attr, ngModel) {

            ngModel.$formatters.push(function(valueFromModel){
                    //add this line
                    ngModel.$setViewValue(valueFromModel[0]);
                    var target1 = [];
                    for (var i = 0; i < valueFromModel.length; i++) {
                        target1.push(valueFromModel[i].type);
                    }
                    return target1;
            });
        }
    }
})

UPDATED FIDDLE