これを「Angularの方法」で行う方がはるかに良いでしょう。JQuery は必要ありません。実際、「JQuery の方法」で物事を行っていることに気付いた場合は、おそらくそれが間違っています。Mark Rajcok は、少し前に StackOverflow でこれと同じことについて本当に良い質問 (および回答) をしました:
app.js
//declare your application module.
var app = angular.module('myApp', []);
//declare a controller
app.controller('MainCtrl', function($scope, $http) {
//function to update the list
$scope.updateList = function () {
$http.get('/Cont/GetList', function(data) {
$scope.allParameters = data;
});
};
//initial load
$scope.updateList();
});
index.html
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script src="angular.js"></script>
<script src="app.js"></script>
</head>
<body>
<div ng-controller="MainCtrl">
<button ng-click="updateList()">Update</button>
<ul>
<li ng-repeat="parameter in allParameters">{{parameter | json}}</li>
</ul>
<!-- EDIT: Because you requested a select.
or if you wanted to do a select list
assuming every object in your array had a "name" property
you wanted to display in the option text, you could do
something like the following:
(NOTE: ng-model is required for ng-options to work)
-->
<select ng-model="selectedValue" ng-options="p as p.name for p in allParameters"></select>
<!-- this is just to display the value you've selected -->
<p>Selected:</p>
<pre>{{selectedValue | json}}</pre>
</div>
</body>
</html>
編集: IE の一般的な問題
まず、IE で問題が発生した場合は、F12 キーを押して、コンソールで発生しているエラーを確認することをお勧めします。
console.log()
IE で問題が発生する最も一般的な問題は、IE に存在しないコマンドなどに関連しています。その場合は、次のようにスタブを作成する必要があります。
//stub in console.log for IE.
console = console || {};
console.log = console.log || function () {};