我正在创建具有不同主题颜色的tableselect表单。一切正常,但是当我使用Ajax仅选择主题时,它并没有告诉我我在等待什么。它破坏了我的寻呼机(我还不知道如何解决),页眉(在ajax之后不起作用并且单击他后将我重定向到/ system / ajax ....)和行。 我的主要问题是行。我每页显示8行。当我只选择我的主题时,我只能看到4行(因为我只有4个主题)。当我点击ajax之后,它会显示4个主题和4个带有单选按钮的空行。我不明白为什么会这样。有人可以解决这个问题吗?
我正在尝试从头开始显示2行,但是在选择我的主题后,它仅显示2个主题,而其他两个主题在这里显示(寻呼机不起作用)。
$header = array(
array('data' => 'id', 'field' => 'id', 'sort' => 'ASC'),
array('data' => 'background'),
array('data' => 'button'),
array('data' => 'uid', 'field' => 'uid', 'sort' => 'ASC'),
array('data' => 'name', 'field' => 'name', 'sort' => 'ASC'),
array('data' => 'public', 'field' => 'public', 'sort' => 'ASC'),
);
$data = db_select('theming_colors', 'n')->extend('TableSort');
$data = $data->fields('n', array('id', 'background', 'button', 'uid', 'name' , 'public'))
->extend('PagerDefault')
->limit(8)
->condition(db_or() ->condition('n.public', '1')->condition('n.uid', $user->uid))
->orderByHeader($header)
->execute()
->fetchAll();
$options = array();
foreach ($data as $node) {
$options[$node->id] = array($node->id, $node->background, $node->button, $node->uid, $node->name , $node->public);
}
这是我用寻呼机选择的桌子:
$form['table_with_buttons'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $options,
'#multiple' => FALSE,
'#ajax' => array(
'event' => 'change',
'callback' => 'getactions_list',
'wrapper' => 'actionlist',
'method' => 'replace',
'effect' => 'fade',
),
'#prefix' => '<div id="themetable">',
);
$form['pager']['#markup'] = theme('pager');
$form['pager']['#suffix'] = '</div>';
和ajax函数:
function gettable_list($form, &$form_state){
global $user;
switch ($form_state['values']['theme_filter']) {
case 'my':
$data = db_select('theming_colors', 'n')->extend('TableSort');
$data = $data->fields('n', array('id', 'background', 'button', 'uid', 'name' , 'public'))
->extend('PagerDefault')
->limit(8)
->condition('n.uid', $user->uid)
->execute()
->fetchAll();
$options = array();
foreach ($data as $node) {
$options[$node->id] = array($node->id, $node->background, $node->button, $node->uid, $node->name , $node->public);
}
$form['pager']['#markup'] = theme('pager');
$form['table_with_buttons']['#options'] = $options;
$ccc = array($form['table_with_buttons'], $form['pager']);
return $ccc;
break;
}
}
有人可以帮助或告诉问题出在哪里,或者至少如何解决该行? (更好的是说还可以解决排序和寻呼的问题。但是主要的问题是行。)谢谢大家!