В раскрывающемся списке значение по умолчанию - "Выбрать клиента" и имеет список имен клиентов. 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>
благодаря
Вы можете поместить проверку в 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 будет вызвана.
<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
}