如何通过JS/PHP单击列表项本身,将项目从2个列表(不同区域)移动到1个列表?

如何通过JS/PHP单击列表项本身,将项目从2个列表(不同区域)移动到1个列表?,php,jquery,html,css,list,Php,Jquery,Html,Css,List,我在设置项目列表和在彼此之间移动项目时遇到了一些问题 是否可以有多个列表,每个项目中都有一个链接以将其移动到指定的列表?i、 e.在操作旁边加上加号的操作列表,单击加号并移动到指定框?此外,是否可以从该页面加载一个lightbox(我猜代码必须是内联的)并将这些名称移动到特定列表中 对我迄今为止所做的努力有更广泛的看法 最初的问题是,我无法使用列表框,因为它们在每个浏览器中都以本机方式呈现。通过列表框我可以设置这个,但是通过下面的代码使用触发器(在堆栈溢出中找到)。虽然它给了我部分功能,但并

我在设置项目列表和在彼此之间移动项目时遇到了一些问题

是否可以有多个列表,每个项目中都有一个链接以将其移动到指定的列表?i、 e.在操作旁边加上加号的操作列表,单击加号并移动到指定框?此外,是否可以从该页面加载一个lightbox(我猜代码必须是内联的)并将这些名称移动到特定列表中


对我迄今为止所做的努力有更广泛的看法

最初的问题是,我无法使用列表框,因为它们在每个浏览器中都以本机方式呈现。通过列表框我可以设置这个,但是通过下面的代码使用触发器(在堆栈溢出中找到)。虽然它给了我部分功能,但并没有达到我想要的目标

document.getElementById('moveTrigger').onclick = function() {

var listTwo = document.getElementById('secondList');
var options = document.getElementById('firstList').getElementsByTagName('option');

while(options.length != 0) {
    listTwo.appendChild(options[0]);
}

}

然后,我讨论了jQueryUI的可排序性,以及它连接多个(最重要的是,可设置样式的列表)和在彼此之间拖动的能力。这适用于并排表,但它不能提供我所期望的总体可用性


所以,我已经到了一个不确定前进方向的地步。虽然我可以了解PHP,但我个人不知道从哪里开始。我愿意接受任何和所有的选择

如果我理解正确,您希望在两个列表之间移动项目。当在列表A中单击某个项目时,应该将其移动到列表B。当单击列表B中的某个项目时,应该将其移动到列表A

假设列表的结构如下所示:

<div id="listA">
    <div class="listItem">
        <input type="button" class="action" value="+" />
        Action 1
    </div>
    ...
    ...
</div>
这意味着,每当在
#listA
中单击具有类
操作的任何元素时,都会找到由其表示的项(
listItem
),并将其移动到列表B。同样,在列表B上,我们执行相反的操作:

$("#listB").delegate(".action", "click", function() {
    var item = $(this).closest('.listItem');
    $(this).val('+');
    $("#listA").append(item);
});

您还可以尝试jQuery UI框架,它为您提供了大量的界面小部件选择,还有更多选择。
请在此处找到:(该链接应直接指向可排序列表)


Google CDN for Javascript库的实现非常有效且简单(只需搜索“Google AJAX库API”,您就会找到它)

谢谢!这非常适合将项目从一个列表发送到另一个列表,我可以适当地设置它的样式。我能够通过一个内联灯箱设置什么是listC并将其发送到listB,但是,从listB中删除使我可以选择将其发送到这两个灯箱中的一个。是否可以在不添加或更改太多的情况下执行此操作?再次感谢大家!这正是我在许多方面寻找的功能!我明白了。只是在listitems中添加了一个单独的类,即“listC”,并按照之前的方式进行操作。效果很好。再次感谢!
$("#listB").delegate(".action", "click", function() {
    var item = $(this).closest('.listItem');
    $(this).val('+');
    $("#listA").append(item);
});