参考了下multiselect的写法,想了想实现应该不难,自己写了
html:
<div class="row">
<div class="col-xs-5">
<select name="test" id="multiselect" class="form-control" size="8" multiple="multiple">
<option value="1">Item 1</option>
<option value="2">Item 5</option>
<option value="2">Item 2</option>
<option value="2">Item 4</option>
<option value="3">Item 3</option>
</select>
</div>
<div class="col-xs-2">
<button type="button" id="multiselect_rightAll" (click)="multiselect_rightAll()" class="btn btn-block"><i class="glyphicon glyphicon-forward"></i></button>
<button type="button" id="multiselect_rightSelected" (click)="multiselect_rightSelected()" class="btn btn-block"><i class="glyphicon glyphicon-chevron-right"></i></button>
<button type="button" id="multiselect_leftSelected" (click)="multiselect_leftSelected()" class="btn btn-block"><i class="glyphicon glyphicon-chevron-left"></i></button>
<button type="button" id="multiselect_leftAll" (click)="multiselect_leftAll()" class="btn btn-block"><i class="glyphicon glyphicon-backward"></i></button>
</div>
<div class="col-xs-5">
<select name="to" id="multiselect_to" class="form-control" size="8" multiple="multiple"></select>
</div>
</div>
jq部分
multiselect_rightAll() {
var leftAll = $("#multiselect > option");
leftAll.clone().appendTo("#multiselect_to");
leftAll.remove();
}
multiselect_leftAll() {
var rightAll = $("#multiselect_to > option");
rightAll.clone().appendTo("#multiselect");
rightAll.remove();
}
multiselect_leftSelected() {
if($("#multiselect_to option:selected").length > 0) {
var selectRight = $("#multiselect_to option:selected");
selectRight.clone().appendTo("#multiselect");
selectRight.remove();
}
}
multiselect_rightSelected() {
if($("#multiselect option:selected").length > 0) {
var selectLeft = $("#test option:selected");
selectLeft.clone().appendTo("#multiselect_to");
selectLeft.remove();
}
}