重置作为参数传递的select的值

Reset value of select passed as argument

本文关键字:select 的值 参数传递      更新时间:2023-09-26

我有一些依赖的选择,我想重置所有的下一个

<select ng-change="applyChanges(model.v2)"
            ng-model="model.v1" name="v1"
            ng-options="v as v.Name for v in vs" class="form-control" required></select>
<select ng-change="applyChanges(model.v3)" ng-model="model.v2"
            name="v2"
            ng-options="vv as vv.Name for vv in model.v1.v2" class="form-control"
            required ng-disabled="!model.v1"></select>

但是如何在ng-change方法上重置选择值呢?

$scope.applyChanges = function (arg) {
        if (!_.isUndefined(arg)) {
            arg = "?";
        }
    };

在您的情况下,当您说arg = '?'时,您只改变了局部变量arg的值,model.v2引用的值没有改变。

因此将model和要更改的属性作为参数传递给函数,如

<select ng-change="applyChanges(model, 'v2')"
            ng-model="model.v1" name="v1"
            ng-options="v as v.Name for v in vs" class="form-control" required></select>
然后

$scope.applyChanges = function (model, prop) {
        if (!_.isUndefined(model[prop])) {
            model[prop] = "?";
        }
};
    JavaScript是按引用传递还是按值传递的语言?
  • 在Javascript中通过引用传递变量
  • Javascript通过引用传递吗?