If I use multiple (ajax) views on a single page and each view having exposed filters, e.g. for filtering taxonomy term ids, it doesn't work properly. It seems the exposed filters get confused to which view they have to respond to:
After using the filter of view B, the previously filtered result of view A gets resetted and the filter of view A doesn't react anymore.

Versions in use:
Views 7.x-3.0-beta3
ctools 7.x-1.0-alpha4

(BTW: @Earl and all supporters: Thanks so much for creating the godlike modules views, panels & ctools!!! Where would the Drupal community only be without you? Better not to think about it. :)

Comments

merlinofchaos’s picture

Are these completely separate views, or are they different displays on the same view?

simon_s’s picture

These views are completely separate views and (exposed) filter on term ids of different taxonomy vocabularies and different content types.

It's the same problem if I include these views via block view displays and the core block system or with a Panels page. I also tried different display types like master, page or content pane. It doesn't matter for this problem.

simon_s’s picture

Just for interests I also tested it with multiple different ajax view displays from the SAME view on one panels page. Same problem: multiple exposed filters disturb each other. Also different ids for the "filter identifier" made no difference.

dawehner’s picture

This really should work.

Can you please have a look at the output, there should be some css classes like "view-dom-id-$NUMBER".

How do they look there?

merlinofchaos’s picture

Quick question? Do you have a views-view.tpl.php in the theme where these views are being rendered?

merlinofchaos’s picture

Status: Active » Postponed (maintainer needs more info)

I tried reproducing this, and cannot. My best guess is that this can happen due to improper views.tpl.php files not providing needed classes and ids, confusing the ajax system.

secoif’s picture

esmerel’s picture

Status: Postponed (maintainer needs more info) » Closed (duplicate)
bluesband’s picture

i have a same problem. Subscribing.

vitokor’s picture

i am still having, the same problem. Subscribing.

cr0ss’s picture

@secoif issue is related to 7.x version of Views.

My investigations lead me to following issues:

1) This function Drupal.behaviors.ViewsAjaxView.attach is being executed couple of times during one Ajax call responce.
2) This code at 116 line of theme.inc:

  // If using AJAX, send identifying data about this view.
  if ($view->use_ajax && empty($view->is_attachment) && empty($view->live_preview)) {
    $settings = array(
      'views' => array(
        'ajax_path' => url('views/ajax'),
        'ajaxViews' => array(
          array(
            'view_name' => $view->name,
            'view_display_id' => $view->current_display,
            'view_args' => check_plain(implode('/', $view->args)),
            'view_path' => check_plain($_GET['q']),
            // Pass through URL to ensure we get e.g. language prefixes.
//            'view_base_path' => isset($view->display['page']) ? substr(url($view->display['page']->display_options['path']), strlen($base_path)) : '',
            'view_base_path' => $view->get_path(),
            'view_dom_id' => $vars['dom_id'],
            // To fit multiple views on a page, the programmer may have
            // overridden the display's pager_element.
            'pager_element' => isset($view->query->pager) ? $view->query->pager->get_pager_id() : 0,
          ),
        ),
      ),
    );

    drupal_add_js($settings, 'setting');
    views_add_js('ajax_view');

is bug culprit on two views on one page with Ajax exposed filters (in my case Block and Page). It's messing the Drupal.settings.views.ajaxViews variable by replacing original objects with one view.

In case you'll try refresh page, then comment

 // drupal_add_js($settings, 'setting');  
 // views_add_js('ajax_view'); 

And try to filter views - they will work properly.

3) In case two views are using same Taxonomy filter it's getting #edit-tid id for both exposed forms.