0

我也在使用 drupal-7 并创建一个模块。有 2 个下拉菜单的表单。在选择汽车型号(第 1 个下拉菜单)时,汽车变体(第 2 个下拉菜单)的值会发生变化。当我创建新的时,它工作得很好。但是一旦我去编辑一些值,它就会向我显示错误。

==================================================== ==========================

发生 AJAX HTTP 错误。

HTTP 结果代码:500

调试信息如下。

路径:/vehicle_ades/?q=system/ajax

StatusText:服务不可用(带有消息)

ResponseText:PDOException:SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列'ajax':

选择标题,详细信息,value_of_offer,exchange_offer,total_savings,car_model_id,car_variant_id FROM {va_offer} where id = ajax; 大批 ( )

==================================================== ==========================

如何将汽车型号 ID 传递给 ajax 函数

4

1 回答 1

0

我正在研究drupal 7。下面是代码。我所做的是选择汽车型号汽车变体将改变并将数据保存在表格中。

功能 add_offer_form($form, $formstate) {

$form['add_offer_new_car_model'] = 数组(

'#type' => 'select',
'#required' => TRUE,
'#options' => $car_model,
'#ajax' => array(
    'effect' => 'fade',
    'progress' => array('type' => 'none'),
    'callback' => 'variant_callback',
    'wrapper' => 'replace_variant',
),

);

// 用于选择新车变体的组合框

$form['add_offer_new_car_variant'] = 数组(

'#type' => 'select',
'#options' => array(),
// The prefix/suffix provide the div that we're replacing, named by #ajax['wrapper'] above.
'#prefix' => '<div id="replace_variant">',
'#suffix' => '</div>',

);

// AJAX 请求为每次更改调用表单构建器函数。

// 我们可以根据 $form_state 更改构建表单的方式。

if (!empty($formstate['values']['add_offer_new_car_model'])) {

$model_id = $formstate['values']['add_offer_new_car_model'];
$rows = array();
$result = db_query("SELECT id, variant_name from {va_car_variant} where car_model_id in ($model_id,1) order by variant_name");
while ($data = $result->fetchObject()) {
    $id = $data->id;
    $rows[$id] = $data->variant_name;
}
$form['add_offer_new_car_variant']['#options'] = $rows;

}

}

///////////////////////////////////////// ////// ///////// AJAX 回调函数

函数变体回调($form,&$form_state){

返回 $form['add_offer_new_car_variant'];

}

于 2011-09-19T13:39:13.107 回答