我有一個表格,我想通過向上或向下移動項目來更改順序或行。具有索引3的元素選擇(T17180054)應該向上移動並具有新的索引2並且最好保留選擇。angularJs向上或向下移動表項目索引
這是我的HTML:
<table st-safe-src="flow3.dataSet" st-table="flow3.displayed" class="table table-striped">
<thead>
<tr>
<th st-sort="method">Method</th>
<th st-sort="sample">Sample</th>
<th st-sort="parameters">Parameters</th>
</tr>
</thead>
<tbody ui-sortable ng-model="flow3.displayed">
<tr ng-repeat="row in flow3.displayed track by $index" style="cursor: move;"
ng-click="row.selected = !row.selected; flow3.selectRow($event, row, index)"
ng-class="{success: row.selected}">>
<td>{{row.method.name}}</td>
<td>{{row.sample}}</td>
<td>
<span ng-repeat="parameter in row.parameters">
{{parameter.methodInputParameter.name}} : {{parameter.value}}<br/></span>
</td>
<td>
<button type="button" ng-click="flow3.removeItem(row)"
class="btn btn-danger btn-sm btn-round pull-right"
ng-disabled="flow3.confirmDisabled">
<i class="glyphicon glyphicon-trash"></i>
</button>
</td>
</tr>
</tbody>
</table>
這是我的兩個向上和向下按鈕
<div class="row">
<div class="col-xs-6">
<div class="btn btn-info btn-lg btn-full-width">
<span class="glyphicon glyphicon-menu-up" ng-click="flow3.moveItemUp();"></span> Up
</div>
</div>
<div class="col-xs-6">
<div class="btn btn-info btn-lg btn-full-width">
<span class="glyphicon glyphicon-menu-down" ng-click="flow3.moveItemDown();"></span> Down
</div>
</div>
</div>
這是我的JS: 我曾嘗試使用拼接方法由於我每次都有錯誤的結果。 有更好的選擇嗎?
flow3.moveItemDown = function moveItemDown() {
var index = flow3.dataSet.indexOf(flow3.selectedItem);
if(index == 0) {
return;
} else {
flow3.dataSet.splice(?, ?, ? , ?)
}
}
嘿ScintillatingSpider..It的作品,非常感謝。非常優雅的解決方案;-)的確,關於數組長度 – ErEcTuS