2016-10-30 8 views
1

ラジオボタンの値を使用して、それをAPIリンクに実装したいが、何らかの理由でリンクしていない。apiリンクで使用されているAngularjsラジオボタンの値

HERESに私のコード

JS

myApp.controller('HomeController', ['$scope', '$http', 
    function($scope, $http) { 

     $scope.formData = {}; 
     $scope.doIt = function() { 
      $scope.targetURL = ('https://api.api/' + $scope.formData + '/us/profile'); 

      $http.get($scope.targetURL) 
       .success(function(results) { 
        $scope.data = results.data; 
       }); 
     }; 
    } 
]); 

HTML

<div class="container-fluid"> 
<div class="background"> 
    <div class="transbox"> 
     <div class="row"> 
     <div class="col-lg-4"> 
     </div> 
     <div class="col-lg-3"> 
      <label><input type="radio" name='radio' value="pc" ng-model="formData"><img src="../img/battlenet.png"></label> 
      <label><input type="radio" name='radio' value="psn" ng-model="formData"><img src="../img/playstation.png"></label> 
     </div> 
     <div class="col-lg-5"> 
     </div> 
     </div> 
     <div class="row"> 
     <div class="col-lg-9"> 
      <input class="form-control" type="text" placeholder="Enter Gamertag"> 
     </div> 
     <div class="col-lg-3"> 
      <button type="submit" class="btn btn-default" ng-click="doIt()"> Submit </button> 
     </div> 
     </div> 
    </div> 
</div> 

答えて

0

は、これはうまく動作しますfiddle

myApp.controller('HomeController', ['$scope', '$http', 
    function($scope, $http) { 

     $scope.formData = {}; 
     $scope.doIt = function() { 
      $scope.targetURL = ('https://api.api/' + $scope.formData + '/us/profile'); 

      $http.get($scope.targetURL) 
       .success(function(results) { 
        $scope.data = results.data; 
       }); 
     }; 
    } 
    ]); 

そして、あなたのHTML:

<div ng-app="myApp"> 
<div ng-controller="HomeController"> 
    <div class="container-fluid"> 
     <div class="background"> 
     <div class="transbox"> 
      <div class="row"> 
       <div class="col-lg-4"> 
       </div> 
       <div class="col-lg-3"> 
        <label><input type="radio" name='radio' value="pc" ng-model="formData"><img src="../img/battlenet.png"></label> 
        <label><input type="radio" name='radio' value="psn" ng-model="formData"><img src="../img/playstation.png"></label> 
       </div> 
       <div class="col-lg-5"> 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col-lg-9"> 
        <input class="form-control" type="text" placeholder="Enter Gamertag"> 
       </div> 
       <div class="col-lg-3"> 
        <button type="submit" class="btn btn-default" ng-click="doIt()"> Submit </button> 
       </div> 
      </div> 
     </div> 
     </div> 
    </div> 
</div> 

私はあなたがコントローラを呼び出していないと思いますが、少なくともあなたの例ではそうではありません。クロムコンソールのネットワークタブでリクエストをチェックすると、正しいデータが送信されます。

https://api.api/pc/us/profile 
https://api.api/psn/us/profile 
+0

$ scope.formData = {};オブジェクトからスコープ変数を変更します。 〜$ scope.formData = null; – FRECIA

関連する問題