我对java脚本很陌生,所以如果这看起来很基本,我必须道歉。
如何使用 Angularjs 在 Smart-Table 中编辑行表?新的 Smart-Table 似乎没有教程。我想创建一个简单的表单,供用户输入特定地点的营业时间。
我创建了可以在表格上添加和删除行的按钮,但是当我添加 contenteditable="true" 时,当我更新对象时,所有更改都不会保留。我知道 contenteditable 是独立于智能表的特定 html5 参数,但我不明白我还能如何更新数据或如何检索更新的数据。
数据通过 mean.js 路由从 angularjs 控制器中检索。
<div class="controls">
<table st-table="place.openHours" class="table table-striped">
<thead>
<tr>
<th>Day</th>
<th>Opening Time</th>
<th>Closing Time</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in place.openHours" contenteditable="true" >
<td>{{row.day}}</td>
<td>{{row.open}}</td>
<td>{{row.close}}</td>
<button type="button" ng-click="removeOpenHour(row)" class="btn btn-sm btn-danger">
<i class="glyphicon glyphicon-remove-circle">
</i>
</button>
</tr>
</tbody>
</table>
<button type="button" ng-click="addOpenHour(row)" class="btn btn-sm btn-success">
<i class="glyphicon glyphicon-plus">
</i> Add new Row
</button>
</div>
在javascript内部:
$scope.removeOpenHour = function removeOpenHour(row) {
var index = $scope.place.openHours.indexOf(row);
if (index !== -1) {
$scope.rowCollection.splice(index, 1);
}
}
$scope.addOpenHour = function addOpenHour() {
$scope.place.openHours.push(
{
day: 'Monday',
open: 540,
close: 1080
});
};