jquery – drupal>视图>曝光过滤器>提交更改

前端之家收集整理的这篇文章主要介绍了jquery – drupal>视图>曝光过滤器>提交更改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个视图与一个暴露的过滤器(一个选择).当用户点击“应用”时,使用ajax重新填充.我希望他们不要点击,只要重新填充选择时更改.我假设我将需要一些JS或多或少的这样(虽然这似乎不起作用):
$('#edit-tid').change(function(){
  $('#views-exposed-form-MYVIEW-page-1').submit();
});

首先,我会认为这样做,但没有提交.有人知道为什么吗

其次,注入代码最好的方式是什么?我正在考虑使用View页脚,因为它很容易,但是还有其他更好的想法?

更新:上面的代码正在工作(通过视图页脚注入),但只有第一次.我猜这个选择被ajax调用所覆盖,但这个行为并没有被重新连接(或某些东西).嗯…

更新#2:为了简单起见,我要把ajax扯掉.

解决方法

为了在ajax调用之后重新附加此代码,它应该首先通过Drupal.behaviors附加.这样的东西
Drupal.behaviors.myCustomModule = function(context) {
  $('#edit-tid',context).change(function(){
    $('#views-exposed-form-MYVIEW-page-1').submit();
  });
}

请注意,context参数传递给选择器.应该通过ajax加载的新内容再次调用Drupal.behaviors.

更新:我没有注意到您通过视图页脚插入js.上述方法仍然可以正常工作,只需用一些唯一的标识符替换’myCustomModule’,这样就不会覆盖其他行为.

猜你在找的jQuery相关文章