đây là ý tưởng giống như trước đó posted dụ phi jquery, nhưng với một số mã tái sử dụng chiến lược. Nhu cầu của tôi là để các nút luôn hoạt động trên cùng một phần tử chọn, có tên là "cols". Bạn có thể đặt "sel" làm tham số của các hàm moveUp() và moveDown() nếu bạn muốn một cái gì đó chung chung hơn.
function moveUp() {
var sel = document.getElementById("cols");
var i1=0, i2=1;
while (i2 < sel.options.length) {
swapIf(sel,i1++,i2++);
}
}
function moveDown() {
var sel = document.getElementById("cols");
var i1=sel.options.length-1, i2=i1-1;
while (i1 > 0) {
swapIf(sel,i1--,i2--);
}
}
var swapVar = '';
function swapIf(sel,i1,i2) {
if (! sel[i1].selected && sel[i2].selected) {
swapVar = sel[i2].text;
sel[i2].text = sel[i1].text;
sel[i1].text = swapVar;
swapVar = sel[i2].value;
sel[i2].value = sel[i1].value;
sel[i1].value = swapVar;
sel[i1].selected = true;
sel[i2].selected = false;
}
}
Nguồn
2013-07-25 18:45:10
Những 'option' nào bạn muốn di chuyển, và ở đâu là các nút? Đánh dấu là gì? –
bạn có muốn di chuyển lựa chọn của mình không? tức là đi từ 1 đến 2 đến 3? hoặc bạn muốn thay đổi thứ tự của các lựa chọn? tức là đi từ 1,2,3 đến 2,1,3 – yamspog
Tôi muốn di chuyển lên hoặc xuống tùy chọn selecte bằng cách sử dụng nút lên hoặc xuống – devsoft