选中一个项目并触发onchange ajax事件后,选择框不会折叠

时间:2011-10-13 20:01:15

标签: ajax drupal-7 opera

我正在使用标准D7 Ajax API来加载/更改表单元素。

所以我想要的是:

制作3个相关的选择框。即当选择第一个值时,第二个和第三个变化。第三个选择框取决于第二个选择框。

除了Opera for Win之外的所有浏览器都可以正常工作[Linux没问题](我正在使用v11.51)。 当您从选择框中选择一个项目(在Opera中)时,虽然触发了ajax事件并且数据已成功加载,但它不会崩溃。

如果被触发,有没有办法在事件后折叠选择框?

以下是表单的php代码:

  $form['type'] = array(
    '#type' => 'select',
    '#options' => _bp_filter_get_types(),
    '#attributes' => array('onReady' => "alert('Hello!');return false;"),
    '#prefix' => '<p>',
    '#suffix' => '</p>',
    '#ajax' => array(
      'callback' => 'bp_filters_header_group_js',
      'wrapper' => 'bp-filters-header-group',
      'method' => 'replace',
      'effect' => 'none',
      'progress' => array('type' => 'none'),
    ),
  );
  $form['brand'] = array(
    '#type' => 'select',
    '#options' => $brand_options,
    '#prefix' => '<span id="bp-filters-header-group"><p id="bp-filters-header-brand">',
    '#suffix' => '</p>',
    '#disabled' => $brand_disabled,
    '#ajax' => array(
      'callback' => 'bp_filters_header_group2_js',
      'wrapper' => 'bp-filters-header-group2',
      'method' => 'replace',
      'effect' => 'none',
      'progress' => array('type' => 'none'),
    ),
  );
  $form['series'] = array(
    '#type' => 'select',
    '#options' => _bp_filter_get_series($type_tid, $brand_tid),
    '#prefix' => '<span id="bp-filters-header-group2"><p id="bp-filters-header-series">',
    '#suffix' => '</p>',
    '#disabled' => $series_disabled,
    '#ajax' => array(
      'callback' => 'bp_filters_header_submit_js',
      'wrapper' => 'bp-filters-header-submit',
      'method' => 'replace',
      'effect' => 'none',
      'progress' => array('type' => 'none'),
    ),
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#attributes' => array('class' => $submit_classes),
    '#value' => '',
    '#prefix' => '<p id="bp-filters-header-submit">',
    '#suffix' => '</p></span></span>',
    '#disabled' => $submit_disabled,
  );

1 个答案:

答案 0 :(得分:0)

Opera从v10 for Windows开始出现此错误。我花了3个小时努力奋斗,并没有给出任何结果。我认为没有理智的方式来赢得它=(