如果值不为真,则删除已禁用输入中的值

时间:2015-12-11 17:19:45

标签: javascript html angularjs

输入最初被禁用,仅在条件等于value = 2时启用,然后如果选择返回值= 1将禁用输入(全部好)但如何删除用户在输入中键入的值一旦它再次被禁用?。

http://jsfiddle.net/og4c4vzy/3/

     <div ng-app>
   <form action="" name="myForm">
     <select name="id" id="" ng-model="selectVal">
       <option value="1">Number 1</option>
       <option value="2">Number 2</option>
     </select>
      <input ng-model="number" type="text" ng-pattern="/^[0-9]{1,7}$/" ng-disabled="selectVal != 2" ng-bind="selectVal">  
             </form>
</div>

4 个答案:

答案 0 :(得分:1)

您可以使用ng-change来设置在修改selectVal的值时调用的函数。您可以手动设置number= ""

这是一个掠夺者:http://plnkr.co/edit/asv9QnMmT5wSPW1ijvU5?p=preview

<form action="" name="myForm">
 <select name="id" id="" ng-model="selectVal" ng-change="number=''">
   <option value="1">Number 1</option>
   <option value="2">Number 2</option>
 </select>
  <input ng-model="number" type="text" ng-pattern="/^[0-9]{1,7}$/" ng-disabled="selectVal != 2" >  
  <p ng-bind="number"></p>
</form>

答案 1 :(得分:0)

也许不是最好的解决方案,但它确实有效。

<div ng-app>
   <form action="" name="myForm">
     <select name="id" id="" ng-model="selectVal">
       <option value="1">Number 1</option>
       <option value="2">Number 2</option>
     </select>
      <span ng-if="selectVal <= 1"></span>
      <span ng-if="selectVal >= 2"><input ng-model="number" type="text" ng-pattern="/^[0-9]{1,7}$/" ng-disabled="selectVal != 2" ng-bind="selectVal"/><p ng-bind="number"></p></span>
   </form>
</div>

尝试此更新,您可以使用“ng-if”:

http://jsfiddle.net/og4c4vzy/5/

答案 2 :(得分:0)

你可以试试这个:

<select name="id" id="" ng-model="selectVal" ng-change="number=''">

答案 3 :(得分:0)

要使输入为空,您必须使用select ng-change事件

以下是工作代码:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app>
   <form action="" name="myForm">
     <select name="id" id="" ng-model="selectVal" ng-change="number=''">
       <option value="1">Number 1</option>
       <option value="2">Number 2</option>
     </select>
      <input ng-model="number" type="text" ng-pattern="/^[0-9]{1,7}$/" ng-disabled="selectVal != 2" ng-bind="selectVal">  
   </form>
</div>
&#13;
&#13;
&#13;

我希望这会对你有所帮助。