0

そのような機能の実装を手伝ってください。オプション値 == 1 の場合、下のフォームを非表示にします。

<select ng-model="selection">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
<select>

<form ng-hide="isHidden"> <!-- Form to be hidden when option value == 1 -->
   <!-- Some html code here... -->
</form>

これがコントローラーの一部です。

$scope.isHidden = true;

if($scope.selection == '1'){
    $scope.isHidden = false;
}

現在のコードは機能していません。これを実装するのを手伝ってください。ありがとう。

4

3 に答える 3

0

change イベントを処理し、すべてのロジックを JavaScript ファイルに配置する必要があります。これにより、懸念事項が分離されるだけでなく、デバッグが容易になります。ng-change$scope.$watch を使用してコントローラーで目立たないように全体を処理することもできますが、ロジックは UI を操作するため、ロジックの他のプログラマーのために UI に何らかのヒントを用意することをお勧めします。これにより、「フォームはどこに行ったのか?」というような状況を防ぐことができます。その後、ロジックを検索するのに 1 時間かかります。

HTML:

<form name="myForm">
    <select ng-model="selection" ng-change="handleSelectionChange()">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
    <select>
</form>

コントローラ:

$scope.handleSelectionChange = function(){
    if($scope.selection=='1'){
        document.myForm.style.display = 'none';
    }
};`

モバイルでコードの機能を確認できないため、できるまで、これをアプローチのアイデアとして機能させます. デスクトップに着いたらすぐにコードをテストします。

于 2013-06-21T08:09:46.787 に答える