gpt4 book ai didi

jquery - drupal > View > 暴露的过滤器 > 更改时提交

转载 作者:行者123 更新时间:2023-12-03 22:25:14 24 4
gpt4 key购买 nike

我有一个带有单个公开过滤器(选择)的 View 。当用户单击“应用”时,它使用 ajax 重新填充。我希望他们不必单击它,只需在选择更改时重新填充即可。我假设我或多或少需要一些像这样的 JS(尽管这似乎不太有效):

$('#edit-tid').change(function(){
$('#views-exposed-form-MYVIEW-page-1').submit();
});

首先,我认为这样就可以了,但它没有被提交。有谁知道为什么吗?

其次,注入(inject)该代码的最佳方法是什么?我正在考虑使用“查看页脚”,因为它很简单,但还有其他更好的想法吗?

更新:上面的代码正在工作(通过 View 页脚注入(inject)),但只是第一次。我猜想 select 会被 ajax 调用覆盖,但行为不会重新附加(或其他)。嗯...

更新 #2:为了简单起见,我将放弃 ajax。

最佳答案

为了在 ajax 调用后重新附加此代码,最初应通过 Drupal.behaviors 附加它。像这样的事情:

Drupal.behaviors.myCustomModule = function(context) {
$('#edit-tid', context).change(function(){
$('#views-exposed-form-MYVIEW-page-1').submit();
});
}

请注意,上下文参数被传递到选择器中。 Drupal.behaviors 应该在通过 ajax 加载的新内容上再次调用。

更新:我没有注意到您是通过 View 页脚插入js。上面的内容应该仍然有效,只需将“myCustomModule”替换为一些唯一标识符,这样您就不会覆盖其他行为。

关于jquery - drupal > View > 暴露的过滤器 > 更改时提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com