Search code examples
angularjsangularjs-material

mat-radio-button not working


I am creating an app using angular js material. I have included date picker properly, but unable to add mat-radio-button, I don't know why it's not showing.

this is my HTML page

<!doctype html>
<html ng-app="datepickerBasicUsage">
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-animate.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-aria.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.4/angular-material.js"></script>
    <script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-114/assets-cache.js"></script>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.4/angular-material.css">

    <script src="app.js"></script>
  </head>
  <body>

  <div ng-controller="AppCtrl" style='padding: 40px;'>
    <md-content>
      <h4>Standard date-picker</h4>
      <md-datepicker ng-model="myDate" md-placeholder="Enter date"></md-datepicker>
      <h4>Disabled date-picker</h4>
      <md-datepicker ng-model="myDate" placeholder="Enter date" disabled></md-datepicker>
      <h4>Date-picker with min date and max date</h4>
      <md-datepicker ng-model="myDate" placeholder="Enter date"
       md-min-date="minDate" md-max-date="maxDate"></md-datepicker>

       <mat-radio-group>
  <mat-radio-button value="1">Option 1</mat-radio-button>
  <mat-radio-button value="2">Option 2</mat-radio-button>
</mat-radio-group>
    </md-content>
  </div>
  </body>
</html>

this is js code

angular.module('datepickerBasicUsage, MatRadioModule ', ['ngMaterial'])
.controller('AppCtrl', function ($scope) {
  $scope.myDate = new Date();
  $scope.minDate = new Date(
    $scope.myDate.getFullYear(),
    $scope.myDate.getMonth() - 2,
    $scope.myDate.getDate());
  $scope.maxDate = new Date(
    $scope.myDate.getFullYear(),
    $scope.myDate.getMonth() + 2,
    $scope.myDate.getDate());
});

Solution

  • This is happening because mat-radio-button directive belongs to Angular Material library.

    With AngularJS Material library, you have to use md-radio-button.

    <!doctype html>
    <html ng-app="datepickerBasicUsage">
      <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-animate.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular-aria.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.4/angular-material.js"></script>
        <script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-114/assets-cache.js"></script>
    
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/1.0.4/angular-material.css">
    
        <script src="app.js"></script>
      </head>
      <body>
    
      <div ng-controller="AppCtrl" style='padding: 40px;'>
        <md-content>
          <h4>Standard date-picker</h4>
          <md-datepicker ng-model="myDate" md-placeholder="Enter date"></md-datepicker>
          <h4>Disabled date-picker</h4>
          <md-datepicker ng-model="myDate" placeholder="Enter date" disabled></md-datepicker>
          <h4>Date-picker with min date and max date</h4>
          <md-datepicker ng-model="myDate" placeholder="Enter date"
           md-min-date="minDate" md-max-date="maxDate"></md-datepicker>
    
           <md-radio-group>
             <md-radio-button value="1">Option 1</md-radio-button>
             <md-radio-button value="2">Option 2</md-radio-button>
           </md-radio-group>
        </md-content>
      </div>
      </body>
    </html>