Javascript 如何在angular js中切换基于输入框的选择选项?

Javascript 如何在angular js中切换基于输入框的选择选项?,javascript,angularjs,angular-ng-if,Javascript,Angularjs,Angular Ng If,我正在尝试根据用户选择向DOM添加一个输入框: 选项1其他选项3从dom中删除输入框,怎么做,我尝试了下面的代码,但它不工作 html-- <select ng-model="myDropDown"> <option value="one">One</option> <option value="two">Two</option> <option value="three">Three&

我正在尝试根据用户选择向DOM添加一个输入框:

选项1其他选项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>

jsIDLE->

当下拉列表位于1或3上时,是否显示它,否则不显示

改变

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


然后它将始终渲染,但仅当选择的选项为1或3时才显示

当下拉列表位于1或3时是否显示它,否则不显示

改变

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


然后它将始终呈现,但仅当选择的选项是一个或三个时才显示。如果我理解得很清楚,您正在尝试根据myDropDown值显示元素。您可以使用以下Syntax在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>

如果我理解的很好,那么您正试图基于myDropDown值显示一个元素。您可以使用以下Syntax在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 if行为异常的原因是您似乎引用了AngularJS 1.0.2的一个古老版本。如果您将其更新为最新版本,ng If将按预期工作

有关ng if的评估问题,请参见此处的链接:

ng if行为异常的原因是您似乎引用了AngularJS 1.0.2的一个古老版本。如果您将其更新为最新版本,ng If将按预期工作

有关ng评估问题的相关问题,请参见此处的链接,如果:

var myApp=angular.module'myApp',[]; myApp.controller'MyCtrl',['$scope',函数$scope{ }]; 一 二 三

var myApp=angular.module'myApp',[]; myApp.controller'MyCtrl',['$scope',函数$scope{ }]; 一 二 三

这里工作很好

var app=角度。模块'exApp',[]; 应用程序控制器'ctrl',函数$scope{ $scope.myDropDown=1; }; 一 二 三

这里工作很好

var app=角度。模块'exApp',[]; 应用程序控制器'ctrl',函数$scope{ $scope.myDropDown=1; }; 一 二 三


dom右侧内部可见style=display:none,ng如果为true,则我希望将apend inut box转换为dom,ng如果为false,则我希望从dom输入框中完全删除dom右侧内部可见style=display:none,ng如果为true,则我希望将apend inut box转换为dom,ng如果为false,则我希望从DOM输入框中完全删除它对DOM可见style=display:无,ng如果为true,则我希望从DOM输入框中删除一个输入框,ng如果为false,则我希望从DOM输入框中完全删除,请告诉我仅我希望使用ng-if@ramesh1226因为选择可能会改变,所以在性能方面更好,在这种特定情况下使用ng show。它避免了用户在中创建/删除/创建/删除元素DOM@ramesh1226无论如何,它与ng if的工作原理相同。请注意,您将需要Angular 1.1+,例如在1.5.ng-show中工作,在隐藏使用中,输入框将显示如下显示:无/块,我不希望这样,我需要将输入框从DOM中完全删除,这只可能是ng如果,我该怎么办it@ramesh1226请参阅我以前的评论+我更新的答案。我制作了一个与ng if一起工作的Fiddle,并从DOM中删除了该元素。如果它解决了您的问题,请接受答案:它对dom是可见的,内部样式=显示:无,ng如果为真,我希望将输入框添加到dom,ng如果为假,则我希望从dom输入框中完全删除,请告诉我只希望使用ng-if@ramesh1226因为选择可能会改变,所以在性能方面更好,在这种特定情况下使用ng show。它避免了用户在中创建/删除/创建/删除元素DOM@ramesh1226无论如何,它与ng if的工作原理相同。请注意,您将需要Angular 1.1+,例如在1.5.ng-show中工作,在隐藏使用中,输入框将显示如下显示:无/块,我不希望这样,我需要将输入框从DOM中完全删除,这只可能是ng如果,我该怎么办it@ramesh1226请参阅我以前的评论+我更新的答案。我制作了一个与ng if一起工作的Fiddle,并从DOM中删除了该元素。如果它解决了您的问题,请接受答案:它对dom可见右内style=display:none,ng如果为true,我希望将apend inut box删除到dom,ng如果为false,则我希望从dom输入框中完全删除,请帮助我任何一个它对dom可见右内style=display:none,ng如果为true,则我希望将apend inut box删除到dom,如果ng为false,那么我想从DOM输入框中完全删除,请帮助我删除任何一个