我想在ajax-callback函数中传递下拉值作为参数($ user_id,$ selected)onchange但是我没有在此ajax-callback函数中获取$ selected值onchange事件**
答案 0 :(得分:0)
使用jQuery:$("#yourdropdownid option:selected").text();
答案 1 :(得分:0)
$form['changethis'] = array(
'#type' => 'select',
'#title' => t('Rece/Paid'),
'#description' => t('See Records'),
'#options' => $options,
'#default_value' => $selected,
'#ajax' => array(
'callback' => 'ajax_callback',
'wrapper' => 'replace_textfield_div',
'event' => 'change',
'progress' => array( 'type' => 'none', ),
),
);
以上添加了可读性。
您的选择发布了什么而没有得到结果吗?或者它根本没有发布任何内容?
您的代码看起来不错,但是您确定要ajax回调'ajax_callback'吗?这不应该是你自己的函数返回表单的一部分吗?
此外,我不确定'progress' => array( 'type' => 'none', ),
文档说只有'throbber'和'bar'才有效。
尝试这样的事情
function my_module_create_form($form, $form_state){
// check form_state here to see if the form has been submitted
// via ajax and change if needed.
$options = array(0, 1, 2);
$selected = 0;
$form = array();
$form['changethis'] = array(
'#type' => 'select',
'#title' => t('Rece/Paid'),
'#description' => t('See Records'),
'#options' => $options,
'#default_value' => $selected,
'#ajax' => array(
'callback' => 'my_module_ajax_callback',
'wrapper' => 'replace_textfield_div',
'event' => 'change',
),
);
return $form;
}
function my_module_ajax_callback($form, $form_state) {
// because this is called from change event on select,
// it wont rebuild the form (call my_module_create_form).
// If you want it to you have to set $form_state['rebuild']
// (or it may be $form['rebuild'], I can't remember which one.)
// return form part
return $form['changethis'];
}