簡體   English   中英

如何在Angular JS中切換基於輸入框的選擇選項?

[英]how to toggle input box based select option in angular js?

我試圖根據用戶選擇將輸入框添加到DOM:

option1其他選項3否則從dom中刪除輸入框,怎么辦,我嘗試了下面的代碼,但是它不起作用?

html--

<select ng-model="myDropDown">
      <option value="one">One</option>
      <option value="two">Two</option>
      <option value="three">Three</option>
</select>    <p ng-if="myDropDown=='two' || ans=='three'">
   <input type="text" ng-model="fname" name="fname" />
</p>

jsFiddle-> http://jsfiddle.net/EZbfM/717/

ng-if表現異常的原因是因為您似乎引用了AngularJS(1.0.2)的較舊版本。 如果將其更新為較新版本,則ng-if將按預期工作。

有關ng-if評估問題的相關問題,請參見此處的鏈接: https : //github.com/angular/angular.js/pull/4005

您想在下拉菜單是一或三時顯示它嗎?

更改

<input ng-if="myDropDown=='two'" type="text">

 <input ng-hide="myDropDown=='two'" type="text">

它將始終呈現,但是僅顯示所選的選項是一還是三

如果我理解得很好,您正在嘗試顯示基於myDropDown值的元素。 您可以將復雜表達式寫為&&|| ng-show使用以下合成句法:

<div ng-show="myDropDown == 'two' || myDropDown == 'three'">
    <!-- Will be displayed only when you select 'two' or 'three' -->
    <input type="text" ng-model="fname"/>
</div>

ng-show擺弄

ng-if擺弄

演示

 var myApp = angular.module('myApp',[]); myApp.controller('MyCtrl', ['$scope',function($scope) { }]); 
 <div ng-app="myApp" ng-controller="MyCtrl"> <select ng-model="myDropDown"> <option value="one">One</option> <option value="two">Two</option> <option value="three">Three</option> </select> <p ng-if="myDropDown=='two' || myDropDown=='three'"> <input type="text" ng-model="fname" name="fname" /> </p> </div> 

這里工作很好。

 var app = angular.module('exApp', []); app.controller('ctrl', function($scope){ $scope.myDropDown = "one"; }); 
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script> <body ng-app="exApp" ng-controller="ctrl"> <div> <select data-ng-model="myDropDown"> <option value="one">One</option> <option value="two">Two</option> <option value="three">Three</option> </select> <p> <input ng-model="comment" ng-if="myDropDown != 'two'" type="text"> </p> </div> </body> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM