【问题标题】:Angular ng-option is sorting by keysAngular ng-option 按键排序
【发布时间】:2014-06-05 20:56:09
【问题描述】:

我写了这段代码:

<select required="required" ng-model="category" ng-init="category=''" ng-options="k as v for (k,v) in filter.category"></select>

$scope.filter.region = {
            '': 'Все территории',
            '1': 'РО',
            '2': 'Ростов-на-Дону',
            '3': 'Левенцовский',
            '4': 'Ворошиловский',
            '5': 'Железнодорожный',
            '6': 'Кировский',
            '7': 'Ленинский',
            '8': 'Октябрьский',
            '9': 'Первомайский',
            '10': 'Пролетарский',
            '11': 'Советский'
        };

但是 Angular 是按键排序的:

<option value="" selected="selected">Все территории</option>
        <option value="1">РО</option>
        <option value="10">Пролетарский</option>
        <option value="11">Советский</option>
        <option value="2">Ростов-на-Дону</option>
        <option value="3">Левенцовский</option>
        <option value="4">Ворошиловский</option>
        <option value="5">Железнодорожный</option>
        <option value="6">Кировский</option>
        <option value="7">Ленинский</option>
        <option value="8">Октябрьский</option>
        <option value="9">Первомайский</option>

我该如何解决这个问题? PS:我必须使用 ng-options 的这个签名,因为我的值可以是符号的。

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

你可以加orderBy:

&lt;select required="required" ng-model="category" ng-init="category=''" ng-options="k as v for (k,v) in filter.category | orderBy:'k'"&gt;&lt;/select&gt;

【讨论】:

    【解决方案2】:

    Angular 将值视为字符串,因此 11 在 2 之前,您可以这样做:

    $scope.filter.region = {
                '': 'Все территории',
                '01': 'РО',
                '02': 'Ростов-на-Дону',
                '03': 'Левенцовский',
                '04': 'Ворошиловский',
                '05': 'Железнодорожный',
                '06': 'Кировский',
                '07': 'Ленинский',
                '08': 'Октябрьский',
                '09': 'Первомайский',
                '10': 'Пролетарский',
                '11': 'Советский'
            };
    

    【讨论】:

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