在select元素中拖放(Google Chrome)

时间:2013-05-08 11:05:48

标签: javascript html html5

我在使用google chrome中的不同选择元素中的选项元素拖放时遇到问题。

这是我的JSFiddle(在Firefox中正常工作): http://jsfiddle.net/DyAXf/1/

和代码:

    <script>
    function allowDrop(ev)
    {
        ev.preventDefault();
    }

    function drag(ev)
    {
        ev.dataTransfer.setData("Text",ev.target.id);
    }

    function drop(ev)
    {
        ev.preventDefault();
        var data=ev.dataTransfer.getData("Text");
        ev.target.appendChild(document.getElementById(data));
    }
    </script>
    </head>

<body>
    <table style="text-align: left; width: 100%;">
        <tbody>
            <tr>
                <td></td>
                <td>
                <form>
                    <select id="taglist1" class="tagdiv" name="taglist1" size=7 ondrop="drop(event)" ondragover="allowDrop(event)">
                        <option id='giessen' class="dragElement" draggable="true" ondragstart="drag(event)" value="option1">giessen</option>
                        <option id='giessen2' class="dragElement" draggable="true" ondragstart="drag(event)" value="option2">giessen2</option>
                        <option id='giessen3' class="dragElement" draggable="true" ondragstart="drag(event)" value="option3">giessen3</option>
                        <option id='giessen4' class="dragElement" draggable="true" ondragstart="drag(event)" value="option4">giessen4</option>
                        <option id='giessen5' class="dragElement" draggable="true" ondragstart="drag(event)" value="option5">giessen5</option>
                        <option id='giessen6' class="dragElement" draggable="true" ondragstart="drag(event)" value="option6">giessen6</option>
                    </select>
                    <select id="taglist2" class="tagdiv" name="taglist2" size=7 ondrop="drop(event)" ondragover="allowDrop(event)"></select>
                </form>
                </td>
            </tr>
            <tr>
                <td></td>
                <td>
                <form action="game.php" method="post">
                    <input class="uibutton" type="submit" value="Submit" />
                </form></td>
            </tr>
        </tbody>
    </table>

我需要选择元素的原因是因为我想知道在触发表单之后,哪个术语位于选择元素中。 它是某种排序,我想知道哪些术语堆叠在一起。有没有更好的解决方案来处理这个问题?我的代码有问题吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

不确定这是否是一个理想的答案,但似乎谷歌浏览器使用拖放选择项目有问题(在Firefox中正常工作)。我使用jquery可排序交互来处理问题bei,同时通过ajax post发送序列化的信息。