0

I have the following code (Ctrl):

$scope.dummie = 8; // Default value
$scope.dummie_opts = $filter('range')([],24);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]

Filters.js: @see AngularJS For Loop with Numbers & Ranges

AppSalud.filter('range', function() {
    return function(input, total) {
        total = parseInt(total);
        for (var i=1; i<=total; i++) input.push(i);
        return input;
    };
});

View:

<select name="dummie" ng-model="dummie" ng-options="v as v for (k,v) in dummie_opts">

Result:

<option value="0">1</option>
<option value="1">2</option>
<option value="10">11</option>
<option value="11">12</option>
<option value="12">13</option>
<option value="13">14</option>
<option value="14">15</option>
<option value="15">16</option>
<option value="16">17</option>
<option value="17">18</option>
<option value="18">19</option>
<option value="19">20</option>
<option value="2">3</option>
<option value="20">21</option>
<option value="21">22</option>
<option value="22">23</option>
<option value="23">24</option>
<option value="3">4</option>
<option value="4">5</option>
<option value="5">6</option>
<option value="6">7</option>
<option value="7">8</option>
<option value="8">9</option>
<option value="9">10</option>

I do not use the loop in the tag "option" because I do not take the default value.

Community
  • 1
  • 1
Chofoteddy
  • 747
  • 9
  • 22
  • 2
    You are looking for "natural sort" http://blog.overzealous.com/post/55829457993/natural-sorting-within-angular-js – Eduard Gamonal Apr 28 '14 at 14:00
  • I implemented the library, the result is not the same, but does not show the sorted numbers. The result is as follows: 13 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2, 14, 15, 16, 17, 18, ​​19, 20, 21, 22, 23, 24 – Chofoteddy Apr 29 '14 at 15:22

0 Answers0