我在角度js中使用ng-repeat下拉,
我的HTML代码是
<select class="form-control" ng-model="l.Language" ng-change="languageChange($index, l.Language)" ng-options="L.ID as L.LanguageDDL for L in LanguageDDLList track by L.ID" required></select>
我的控制器是
function getLanguagesFromLookup() {
LanguagesService.getLanguagesfromLookup($scope.userId).success(function (data) {
var languagesListfromLookup = data.customtableitem[0]["Lookup"];
$scope.LanguageDDLList = [];
for (var i = 0; i < languagesListfromLookup.length; i++) {
var item = {
ID: languagesListfromLookup[i].ItemID,
LanguageDDL: languagesListfromLookup[i].Skill
}
$scope.LanguageDDLList.push(item);
}
}).error(function (data) {
$log.info("Error occured while getting Languages Dropdown.")
});
}
并获取默认值
$scope.Language = $scope.LanguageDDLList[0].ID
我在这里遇到的问题是我在模型中得到的值是1,但是在下拉列表中没有选择具有值为1的选项。
任何人都可以建议问题Attached reference Image Please click to see image
答案 0 :(得分:1)
您正在将ngModel设置为l.Language但设置$ scope.Language。这就是为什么没有选择下拉列表的原因。
<select class="form-control" ng-model="l.Language" ng-change="languageChange($index, l.Language)" ng-options="L.ID as L.LanguageDDL for L in LanguageDDLList track by L.ID" required></select>
示例plunk here
更新: 由于我们已经选择了ID,因此我们已经选择了ID,因此需要使用包装ng-repeat和删除的轨道进行扩展插件。
答案 1 :(得分:1)
试试这个
$scope.Language = parseInt($scope.LanguageDDLList[0].ID+"");