0

我正在使用 redips javascript 创建一个拖放系统。

这是我使用 html 和 php 生成数据的脚本

<div id="base">  
   <table>
     <tbody>
       <?php 
          foreach($deviceID as $row)
          { 
             echo '<tr><td><div class="drag">'.$row['description'].'<input type="hidden" id="bus" value="'.$row['description'].'"></div></td></tr>'; 
          }
        ?>
       </tbody>
    </table>
</div>

这是我的 javascript 文件的片段。

var redips_init;
redips_init = function () {
    // reference to the REDIPS.drag
    var rd = REDIPS.drag;
    // initialization
    rd.init();
        rd.drop_option = 'shift';
    rd.animation_shift = true;

        rd.myhandler_dropped = function () {            
            alert($('#bus').val());
        }
};
4

2 回答 2

0

我不擅长 php,但我通常在 jsp 中做的是创建一个本地索引变量并将其附加到循环中的每个 ID 属性。

所以你的代码看起来像这样

  <?php 
      $index=0;    
      foreach($deviceID as $row)
          { 
             echo '<tr><td><div class="drag">'.$row['description'].'<input type="hidden" id="bus'.$index++.'" value="'.$row['description'].'"></div></td></tr>'; 
          }
        ?>

在 javascript 中,您的 dragAndDrop 事件应该返回一个索引位置,您可以通过该索引位置获得适当的值。

现在你可以在你的 JavaScript 中使用这个动态 ID 来做任何你想做的事情。

于 2012-04-18T09:30:49.860 回答
0

REDIPS.drag 包含save_content()方法来扫描表中的所有 DIV 元素并将结果作为查询字符串JSON对象返回。输入参数是表 id 和返回结果的类型(默认为查询字符串)。如果这还不够好,您可以搜索 save_content() 源并进行自定义。方法很简单,它使用几个循环来扫描表格内容。

另一方面,如果您需要知道可以在myhandler_dropped事件处理程序中写入的已删除 DIV 元素的 ID。这是代码片段:

rd.myhandler_dropped = function () {
    // define DIV id
    var id = rd.obj.id;
    // write DIV id to the console
    console.log(id)
};

希望这个答案会有所帮助。

于 2012-06-29T11:56:59.333 回答