2016-07-02 7 views
0

私はフォームを作成しており、ユーザーが「次のセクション」を押すと、8つのサブフォームに分類される新しい入力フィールドのセットが表示されます。さて、いくつかのチェックボックスに基づいて、その後に表示されるサブフォームを除外したいと思います。 5つのチェックボックスがあり、現在チェックボックスがチェックされている場合(チェックボックス4)、「次のセクション」ボタンをクリックすると、現在ページが表示されています。 2ページ目。AngularJSを使用してコンテンツチェックボックスを表示/非表示

私はAngularJSの初心者で、最適なソリューションを探しています。ソリューションがJavaScriptであれば、それも動作しますが、AngularJSであればより役に立ちます。ありがとう

答えて

0

これはもちろん、大幅に簡素化されており、検証には対応していません。 「次のセクション」をクリックすると、異なるコンテンツ(「ページ」)をユーザーに表示する方法の簡略化されたバージョンを示します。

<!doctype html> 
<html ng-app='myApp'> 
    <head> 
     <title>Validation testing</title> 
     <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.js'></script> 
    </head> 

    <body> 
     <div ng-controller="MyController"> 

     <form name="form" novalidate> 

      <!-- Page 1 Questions--> 
      <p ng-if="data.currentPage===1"> 
       <button type="button" ng-click="data.updateCurrentPage(2)">Next Section</button> 
      </p> 

      <p ng-if="data.currentPage===1"> 
       <input 
        type="text" 
        ng-model="data.q1p1"/> Question 1, Page 1 
      </p> 

      <!-- Page 2 Questions--> 
      <p ng-if="data.currentPage===2"> 
       <button type="button" ng-click="data.updateCurrentPage(3)">Next Section</button> 
      </p> 

      <p ng-if="data.currentPage===2"> 
       <input 
        type="text" 
        ng-model="data.q1p2"/> Question 1, Page 2 
      </p> 

     </form> 

     <p ng-if="data.currentPage===3"> 
       No More questions. 
     </p> 

     </div> 

     <script type="text/javascript"> 
      angular.module('myApp', []) 
      .controller('MyController', function($scope) { 
       $scope.data = {}; 

       $scope.data.currentPage = 1; 

       $scope.data.updateCurrentPage = function(x){ 
        $scope.data.currentPage = x; 
       } 
      }); 
     </script> 
    </body> 
</html> 
関連する問題