【问题标题】:Trigger ng-change not for default value Angularjs触发 ng-change 不是默认值 Angularjs
【发布时间】:2015-12-30 09:41:41
【问题描述】:

在下拉菜单中,默认选择值为“选择客户”,并包含客户名称列表。 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>

谢谢

【问题讨论】:

    标签: angularjs select ng-options


    【解决方案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
    }
    

    【讨论】:

      【解决方案2】:

      您可以在 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>
      

      在上面的 sn-p 中,查看 ng-chnage 它是:ng-change="modeldata===undefined || getcusdetails(modeldata)"。因此,每当您选择“选择客户”时,modeldata 的值将是未定义的,因此不会调用函数。当您选择其他值时,modeldata 不会未定义,因此将调用 ng-change 中的函数。

      【讨论】:

        猜你喜欢
        • 2016-12-09
        • 1970-01-01
        • 2018-01-02
        • 1970-01-01
        • 2015-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多