触发更改不是默认值Angularjs

时间:2015-12-30 09:41:42

标签: angularjs select ng-options

在下拉列表中,默认选择值为“选择客户”。并有客户名单。 Ng-change应仅触发客户名称,而不是“选择客户”。值。我们可以在控制器中完成它,但有没有办法在html / view中执行它。

<Select ng-options="o.cusid in o.cusname for o in custcollections ng-model="modeldata" ng-change="getcusdetails(modeldata)">
<option value=""> Select Customer</option>
</select>

由于

2 个答案:

答案 0 :(得分:1)

<Select ng-options="o.cusid in o.cusname for o in custcollections ng-model="modeldata" ng-change=" modeldata!='default' && getcusdetails(modeldata)">
<option value=""> Select Customer</option>
</select>

另一个选项可以在控制器中执行:

 $scope.getcusdetails = function(selected) {
    if(selected=='default') return;
     //your code
}

答案 1 :(得分:0)

您可以根据条件检查 ng-change 以呼叫控制器功能。您的代码将类似于:

<select ng-options="o.cusid in o.cusname for o in custcollections ng-model="modeldata" ng-change="modeldata===undefined || getcusdetails(modeldata)"><option value=""> Select Customer</option>

在上面的代码段中,请查看ng-chnage: ng-change="modeldata===undefined || getcusdetails(modeldata)" 。因此,无论何时选择“选择客户”,modeldata的值都将是未定义的,因此不会调用函数。当您选择其他值时,modeldata将不会被定义,因此将调用ng-change中的函数。