如何使用javascript用一个按钮交换两个下拉列表

how to swap two dropdownlists with one button using javascript

本文关键字:交换 两个 下拉列表 按钮 一个 javascript 何使用      更新时间:2023-09-26

如何更改两个下拉列表的值。意思是像普通ddls一样,用按钮或箭头图标交换每个下拉列表的值。

您可以按如下方式进行操作:

HTML

<table>
    <tr>
        <td>
            <select id="mySelect1" size="5" multiple style="width:200px">
                <option value="opt1">Option 1</option>
                <option value="opt2">Option 2</option>
                <option value="opt3">Option 3</option>
            </select>
        </td>
        <td valign="center">
            <button id="toRight">►</button><br/>
            <button id="toLeft">◄</button>
        </td>
        <td>
            <select id="mySelect2" size="5" multiple style="width:200px">
                <option value="opt4">Option 4</option>
                <option value="opt5">Option 5</option>
                <option value="opt6">Option 6</option>
            </select>
        </td>
    </tr>
</table>

Javascript(纯)

function moveOptionsTo(index) {
    var target = document.getElementById('mySelect' + index);
    var options = document.getElementById('mySelect' + (3-index)).options;
    for (var i = 0; i < options.length; i++) {
        if (options[i].selected) {
            target.appendChild(options[i]);
            i = i - 1;
        }
    }
}
document.getElementById('toRight').onclick = function() {
    moveOptionsTo(2);
};
document.getElementById('toLeft').onclick = function() {
    moveOptionsTo(1);
};
document.getElementById('mySelect1').ondblclick = function() {
    moveOptionsTo(2);
};
document.getElementById('mySelect2').ondblclick = function() {
    moveOptionsTo(1);
};

可选:带有jQuery的Javascript

function moveOptionsTo(index) {
    $('#mySelect' + (3-index) + ' option:selected').appendTo('#mySelect' + index);
}
$('#toRight').click(function() {
    moveOptionsTo(2);
});
$('#toLeft').click(function() {
    moveOptionsTo(1);
});
$('#mySelect1').dblclick(function() {
    moveOptionsTo(2);
});
$('#mySelect2').dblclick(function() {
    moveOptionsTo(1);
});

这是一把使用上述代码的小提琴。这允许多选并双击项目或按钮进行移动。

HTML:

<label>Browser Select 1</label>
  <select class="browser-default" id="drop1">
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 1</option>
    <option value="2">Option 2</option>
    <option value="3">Option 3</option>
  </select>
<label>Browser Select 2</label>
  <select class="browser-default" id="drop2">
    <option value="" disabled selected>Choose your option</option>
    <option value="1">Option 4</option>
    <option value="2">Option 5</option>
    <option value="3">Option 6</option>
  </select>
<button id="switch">switch</button>

JQUERY:

$('#switch').click(function(){
    var options1 = $('#drop1').html();
    $('#drop1').html($('#drop2').html());
    $('#drop2').html(options1);
});

简单的javascript感谢Spencer:

document.getElementById("switch").onclick = function() {
    var drop1 = document.getElementById("drop1");
    var drop2 = document.getElementById("drop2");
    var tempHTML = drop1.innerHTML;
    drop1.innerHTML = drop2.innerHTML;
    drop2.innerHTML = tempHTML;
}

http://jsfiddle.net/5g550tqq/3/