Javascript AngularJS禁用的选择输入行为与本机HTML不同

Javascript AngularJS禁用的选择输入行为与本机HTML不同,javascript,angularjs,html-select,Javascript,Angularjs,Html Select,似乎在angularjs中禁用输入或选择时,模型值保持不变。我的问题是,这与HTML中的本机表单行为不同,我必须通过ng change scope方法调用一些额外的行为,以获得正确的行为,即如果禁用输入或选择输入,则将值设置为null。 以下是我的例子: <div ng-app="myApp"> <select ng-disabled="disableIt" ng-model="data"> <option>1</option&g

似乎在angularjs中禁用输入或选择时,模型值保持不变。我的问题是,这与HTML中的本机表单行为不同,我必须通过ng change scope方法调用一些额外的行为,以获得正确的行为,即如果禁用输入或选择输入,则将值设置为null。 以下是我的例子:

<div ng-app="myApp">
    <select ng-disabled="disableIt" ng-model="data">
        <option>1</option>
        <option>2</option>
    </select>
    <input type="text" ng-model="textData" ng-disabled="disableIt" />
    <br />
    <input type="checkbox" ng-model="disableIt"/>
    <br />
    Select Data: {{selectData}}
    <br/>
    Text Data: {{textData}}
</div>

<script>
var myApp = angular.module('myApp',[]);

myApp.run(function($rootScope){
    $rootScope.selectData = 1;
    $rootScope.textData = "test";
});
</script>
您可以在JSFIDLE上测试它:


禁用时,所需的结果是textData和selectData models为空。

您需要修改代码。。这是不合适的。还有更多关于这方面的信息吗?这就是为什么这个问题最终会出现在这里……我能用我的方式来做吗?@Ved,请便。我只提供了一个基本的例子——这不是我通常的编码方式。我希望人们能忽视这一点!塔姆托瓦蒂