I am updating a draggable form from drupal 6 to 7. If i change the value of weight on the select box, it changes and saves it, but if i drag and drop, it do not change the value. I found some samples, but they are only for drupal 6, where it works, i have made some changes from drupal 6 and it is as this, the full file is at http://drupalcode.org/viewvc/drupal/contributions/modules/customfilter/custo... This is the only thing left to a drupal 7 version, and any help/tip is welcome, thanks. function theme_customfilter_rules_form($vars) { $form = $vars['form']; $rows = array(); if (isset($form['rules'])) { foreach (element_children($form['rules']) as $rid) { $row = array(); $element = &$form['rules'][$rid]; $element['prid']['#attributes']['class'] = 'rule-prid'; $element['rid']['#attributes']['class'] = 'rule-rid'; $element['weight']['#attributes']['class'] = 'rule-weight'; $row[] = ( // @todo Fix this for indentation //theme('indentation', $element['level']['#value']) . $element['name']['#value'] ); $row[] = ( drupal_render($element['rid']) . drupal_render($element['prid']) . drupal_render($element['weight']) ); $row[] = drupal_render($element['enabled']); $row[] = $element['operations']['add']['#value']; $row[] = $element['operations']['edit']['#value']; $row[] = $element['operations']['delete']['#value']; $rows[] = array( 'data' => $row, 'class' => array('draggable'), ); } } if (!count($rows)) { $rows[] = array( array( 'data' => t('There are no replacement rules currently defined.'), 'colspan' => '6', ) ); } $header[] = t('Name'); $header[] = t('Weight'); $header[] = t('Enabled'); $header[] = array( 'data' => t('Operations'), 'colspan' => '3', ); drupal_add_tabledrag('customfilter-rules-tree', 'order', 'sibling', 'rule-weight', NULL, NULL, TRUE); drupal_add_tabledrag('customfilter-rules-tree', 'match', 'parent', 'rule-prid', 'rule-prid', 'rule-rid', TRUE); $args['header'] = $header; $args['rows'] = $rows; $args['attributes'] = array('id' => 'customfilter-rules-tree'); return theme_table($args) .// theme($form); drupal_render_children($form); }