我尝试填写angularJS中的一个选项,但它不起作用,我不明白为什么。 所以在我的控制器中,我使用http请求来填充历史对象的cShops属性。我在我的属性上使用Console.Dir()来显示内容,我的变量是很好的填充。因此,我尝试使用此对象列表来填充我的选择标记,但它不起作用,我在Chrome控制台中没有错误。
使用包含商店列表的属性获取历史记录的方法:
var reqGetHistEmployees = $http({ url: 'api/Employees/GetHistoryEmployee', params: { 'id': id } });
reqGetHistEmployees.success(function (resolve) {
$scope.histEmployee = resolve;
console.log('histEmployee[0].cShops : ');
console.dir($scope.histEmployee[0].cShops);
});
因此,当我验证清单时,商店就会被填满。所以我试着在我的html中选择显示这个列表:
Affectations :
<table class="myTable">
<thead style="background-color:#54a0fc !important;">
<tr>
<th>{{'Shop' | i18n}}</th>
<th>{{'Function' | i18n}}</th>
<th>{{'Contract' | i18n}}</th>
<th>{{'Entrance' | i18n}}</th>
<th>{{'Ending' | i18n}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="hist in histEmployee">
<td><select ng-options="shop.Name for shop in hist.cShops track by shop.ShopID"></select></td>
<td>{{hist.FunctionName}}</td>
<td>{{hist.ContractName}}</td>
<td>{{hist.DateOfEntry | date:'shortDate'}}</td>
<td>{{hist.DateOfEnding | date:'shortDate'}}</td>
</tr>
</tbody>
</table>
但我的选择是空的,我在控制台上没有错误,所以我不知道如何解决这个问题。
提前感谢您提供给我的任何帮助
答案 0 :(得分:0)
您在选择标记内缺少ng-model属性。
见https://docs.angularjs.org/api/ng/directive/ngOptions。如果我的提示没有解决您的问题,那么您可能会遗漏其他内容。阅读文档 - 这应该是一个简单的解决方法。
<强>更新强>
我想你也想在选择时存储商店ID,并希望显示用户的名称。
所以你需要去做这样的事情: 在数组
中为值 选择为标签您的选择:身份
你的标签:名称
你的价值:商店
你的数组:hist.cShops