我有一个表格,我在其中使用了Select2 Control,它可以很好地处理从数据库加载的元素。
HTML
<table class="table table-striped table-bordered">
<tr ng-repeat="lineItem in lineItems">
<td><input type="checkbox" ng-model="lineItem.selected" /></td>
<td>{{lineItem.rowNumber}}</td>
<td>
<select id="drpItem" class="form-control select2 select2-hidden-accessible" ng-model="lineItem.item" ng-options="item as item.itemCode for item in vm.items" name="ItemCode" style="width: 100%;">
<option value="0">Select Item</option>
</select>
</td>
<td><input type="text" class="form-control" ng-model="lineItem.item.itemName" required /></td>
<td><input type="number" class="form-control" ng-model="lineItem.quantity" required /></td>
<td><input type="number" class="form-control" ng-model="lineItem.item.unitPrice" required /></td>
<td><span ng-model="lineItem.lineTotal">{{getLineTotal(lineItem)}}</span></td>
</tr>
</table>
以下Javascript初始化它就好了。
$(function () {
$('.select2').select2();
});
我有一个按钮,可以动态地将行添加到AngularJS中的网格
$scope.addNew = function (lineItem) {
$scope.lineItems.push({
'rowNumber': $scope.rowNum++,
'item.id': '',
['item.itemName']: '',
'quantity': 1,
['item.unitPrice']: ''
});
};
我的问题是,当我单击添加新行时,添加了行,但禁用了Select2控件。我试图整天解决这个问题,但无济于事。在此先感谢您的帮助。