2015-12-21 43 views
0

我想添加一些单选按钮,如下图所示,在我的这个http://jsfiddle.net/nikunj2512/phsdeq4v/ D3图表的图例中。所以当我点击任何单选按钮时,它应该调用控制器中定义的函数来获取数据,然后更新图表。D3和angularjs单选按钮集成

enter image description here

而且,这个日期应该是定制,能,这样我可以通过像config同时调用d3Chart指令,并根据我的配置,代码应该添加单选按钮的适当数量。

我的问题:

1)获得的点击单选按钮的值,并通过选定的单选按钮的值&调用一个控制器中的相应的功能?

请任何人有任何想法如何实现这一目标?

+0

,我认为,你可以对任何单选按钮,使用简单ngmodel指令实现这一目标。看看https://angular-ui.github.io/bootstrap/参考。稍微研究一下。 – katmanco

+0

@katmanco:我试过但如何将控制器中定义的函数绑定到指令中的函数? – nikunj2512

+0

嗨,我的朋友,我刚刚为你创建了一个plnkr来检查如何将一个函数绑定到一个操作主范围元素的指令上。这可以帮助你.http://plnkr.co/edit/KzBWJzaFPzV8nMm9q64E?p = preview – katmanco

回答

0

请检查此链接.. iCheck

U可以很容易地使用指令angulerjs整合。请在下面检查。

angular.module('test').directive('icheck', ['$timeout', '$parse',function($timeout, $parse) { 
return { 
    require: 'ngModel', 
    link: function($scope, element, $attrs, ngModel) { 
     return $timeout(function() { 
      var value = $attrs['value']; 
      $scope.$watch($attrs['ngModel'], function(newValue){ 
       $(element).iCheck('update'); 
      }) 

      $scope.$watch($attrs['ngDisabled'], function(newValue) { 
       $(element).iCheck(newValue ? 'disable':'enable'); 
       $(element).iCheck('update'); 
      }) 

      return $(element).iCheck({ 
       checkboxClass: 'icheckbox_square-green', 
       radioClass: 'iradio_square-green' 
      }).on('ifChanged', function(event) { 
       if ($(element).attr('type') === 'checkbox' && $attrs['ngModel']) { 
        $scope.$apply(function() { 
         return ngModel.$setViewValue(event.target.checked); 
        }); 
       } 
       if ($(element).attr('type') === 'radio' && $attrs['ngModel']) { 
        return $scope.$apply(function() { 
         return ngModel.$setViewValue(value); 
        }); 
       } 
      }); 
     }); 
    } 
}; 

}]);

和UI喜欢使用它..

<input type="checkbox" icheck name="Check" ng-model="checkConfig" ng-change="updateMode()"/> 
+0

为单选按钮添加新指令不能解决我的问题。我已经添加了更多的细节,请看看。谢谢。 – nikunj2512