2013-05-08 204 views
3

我有一个问题,即在不同的select元素内部的选项元素拖放到谷歌浏览器中工作。在选择元素(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> 

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

在此先感谢。

回答

2

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