Триггер нг-изменения не для значения по умолчанию Angularjs

0

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

благодаря

Теги:
select
ng-options

2 ответа

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 будет вызвана.

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
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню