动态选择与网址相关的下拉列表?

时间:2014-11-12 20:51:40

标签: angularjs

目前我正试图找出一种方法来预先选择下拉选项,具体取决于URL中的参数。 IE:www.example.com/#/两,如果您要点击该网址,我希望在'items'范围内预先选择两个“selectedItem”范围。现在使用下面的代码,它在'items'范围内默认为'One'。我已经尝试解析URL并将其注入'selectedItem'范围,但这也不起作用。

<select ng-model="selectedItem" 
        ng-options="item as item.name for item in items">
</select>

var testURL = 'http://www.example.com/#/Two';

$scope.items = [
  {name:'One', value:'check1'},
  {name:'Two', value:'check2'}
];

$scope.selectedItem = $scope.items[1];

方便小提琴:Sandbox

1 个答案:

答案 0 :(得分:0)

我通常使用$ timeout方法来确保它的正确时间,然后遍历项目并找到正确的项目。类似的东西:

$timeout(function () {
    var page = testURL.substr(testURL.length - 3);
    for (var i = 0; i < $scope.items.length; i++) {
        if ($scope.items[i].name === page) {
            $scope.selectedItem = $scope.items[i];
        }
    }
});

Updated fiddle