输入最初被禁用,仅在条件等于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>
答案 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”:
答案 2 :(得分:0)
你可以试试这个:
<select name="id" id="" ng-model="selectVal" ng-change="number=''">
答案 3 :(得分:0)
要使输入为空,您必须使用select
ng-change
事件
以下是工作代码:
<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;
我希望这会对你有所帮助。