我有一个带有一些过滤器的ajax视图块。我想用javascript更新外部视图的过滤器。
如何在不刷新页面的情况下从块外部向视图发送参数?
答案 0 :(得分:0)
来自Views Hacks的自动提交子模块可能在这里证明非常有用。我经常使用它。您可以随时进行设置,然后从外部触发,即使只是通过JS进行点击。
答案 1 :(得分:0)
这是我最终使用javascript加载带有ajax的视图块的javascript,并从我在页面上创建的链接列表的href
值传递上下文过滤器。希望这有助于某人!
function getInfo(args) {
$.ajax({
url: Drupal.settings.basePath + 'views/ajax',
type: 'post',
data: {
view_name: 'agent_lookup',
view_display_id: 'agent_lookup_block', //your display id
view_args: args,
},
dataType: 'json',
success: function (response) {
if (response[1] !== undefined) {
var viewHtml = response[1].data;
$('#ajax-target').html(viewHtml);
//Drupal.attachBehaviors(); //check if you need this.
}
},
error: function(data) {
alert('An error occured!');
}
});
}
$('.ajax_button').once().click(function(e){
e.preventDefault();
var the_id = $(this).attr('href');
noSlashes = the_id.replace(/\//g,'');
getInfo(noSlashes);
});