AngularJs:动态附加选择框

AngularJs:动态附加选择框,angularjs,append,Angularjs,Append,我需要动态添加选择框。为此,我使用了以下代码 $scope.newsource = ["New South Wales","Victoria"]; angular.element(document.getElementById('testdiv')).append($compile("<select ng-model='selectedVal' ng-options='key for key in "+$scope.newsource+"' ng-change='dropdownC

我需要动态添加选择框。为此,我使用了以下代码

  $scope.newsource = ["New South Wales","Victoria"];
  angular.element(document.getElementById('testdiv')).append($compile("<select ng-model='selectedVal' ng-options='key for key in "+$scope.newsource+"' ng-change='dropdownChanged(selectedVal)'><option value=''>--select--</option></select>")($scope));
$scope.newsource=[“新南威尔士州”、“维多利亚州”];
元素(document.getElementById('testdiv')).append($compile(“--select-->”)($scope));
但是,选项没有列出。我怎样才能让它工作

代码:

myApp.directive(“cascadingDropdowns”[
“$compile”,函数($compile){
返回{
限制:“E”,
替换:正确,
范围:{
noOfDropdowns:“=”,
来源:'='
},
链接:功能(范围、元素、属性){
},
templateUrl:“../templates/cascading dropdown/cascading dropdown.html”,
控制器:函数($scope、$compile、$http){
$scope.dropdownChanged=函数(selectedVal){
如果(selectedVal!=null)
{
$scope.newsource=[“新南威尔士州”、“维多利亚州”];
元素(document.getElementById('testdiv')).append($compile(“--select-->”)($scope));
}
};
}
};
}
]);
cascading-dropdown.html

  <div id="testdiv"><select ng-model="selectedVal" ng-options="key for (key, value) in source" ng-change="dropdownChanged(selectedVal)">
    <option value="">--select--</option>
  </select></div>

--挑选--
请帮忙,
谢谢。

这是指令中的内容吗?这将有助于有代码以及是的,它是内部指令。我认为ng options='key for key in'+$scope.newsource+''有问题,您可以发布您尝试过的完整代码吗?在html中发布控制器代码和
cascadingDropdowns
指令的用法吗?您尝试过:
ng options='key for key in newsource'
  <div id="testdiv"><select ng-model="selectedVal" ng-options="key for (key, value) in source" ng-change="dropdownChanged(selectedVal)">
    <option value="">--select--</option>
  </select></div>