3

我在为不同选择元素中的选项元素拖放以在 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>

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

4

1 回答 1

2

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

于 2013-05-11T11:07:42.050 回答