jquery.ui使用表和项进行排序:tr,占位符困难

时间:2010-03-26 22:00:57

标签: jquery jquery-ui-sortable placeholder

我想添加对我创建的表的排序支持。

使用item:TR时,我实现的占位符在IE 7中根本不起作用。它在FF中工作正常。
我已尝试<UL\>上的代码并且它正确执行。它似乎特定于表格和

我通过论坛进行了研究,似乎并没有很多人使用表格排序:

<style type="text/css">
  .dndPlaceHolder 
  {
    background-color:Red ;
    color:Red;
    height: 20px; 
    line-height:30px;
    border: solid 2px black;
  }    
  .dndItem
  {
    background-color: #c0c0c0;
    border:solid 1px black;
    padding:5px; 
  }
</style>

<script type="text/javascript" >
  $(function() {
    $("#myTable").sortable(
    {
      placeholder:'dndPlaceHolder',
      distance:15,
      items:'tr', 
      forcePlaceholderSize:true, 
      change : dndChange,
      update : dndUpdate
    });

    $("#myTable").disableSelection();

    $("#myList").sortable(
    {
      placeholder:'dndPlaceHolder',
      distance:15,
      items:'li', 
      forcePlaceholderSize:true, 
      change : dndChange,
      update : dndUpdate
    });

    $("#myList").disableSelection();

  });

  function dndChange(event,ui){

  }

  function dndUpdate(event,ui){
    var msg = '';
  }       
</script>

<table id='myTable' >
   <tr class='dndItem' id='1'>
      <td>0 Active - Active</td>
   </tr>
   <tr class='dndItem' id='2'>
      <td>1 Closed - Closed</td>
   </tr>
   <tr class='dndItem' id='3'>
      <td>2 OnHold - On Hold</td>
   </tr>
   <tr class='dndItem' id='4'>
      <td>3 Pending - Pending</td>
   </tr>
</table>
<BR>
<UL id='myList' >
  <li class='dndItem' id='1'>0 Active - Active</li>
  <li class='dndItem' id='2'>1 Closed - Closed</li>
  <li class='dndItem' id='3'>2 OnHold - On Hold</li>
  <li class='dndItem' id='4'>3 Pending - Pending</li>
</ul>

您是否可以使用我提供的代码帮助我完成我的要求,或者向我推荐演示如何完成此操作的指南?

1 个答案:

答案 0 :(得分:19)

试试这个:

$("#myTable").sortable({
    ...
    'start': function (event, ui) {
        ui.placeholder.html('<!--[if IE]><td>&nbsp;</td><![endif]-->');
    },
    ...
};