2011-12-14 2 views
1

일부 필터와 함께 ajax보기 블록이 있습니다. 외부에서 자바 스크립트로 뷰의 필터를 업데이트하고 싶습니다.아약스와 drupal보기에 인수를 보내십시오

페이지를 새로 고치지 않고 블록 외부에서보기에 인수를 보내려면 어떻게해야합니까?

+0

당신은 "http://domain.com/page.php?id=1&comment=2"와 같은 URL 플래그를 사용하면 그 변수를 갱신하기 위해 AJAX를 사용하려는 있습니까? jQuery, YUI 또는 Dojo와 같은 자바 스크립트 프레임 워크를 사용하고 있습니까? – Brian

+0

나는이 사이트에서 일하고있다 : http://d6d7.joergpfeiffer.de javascript frunction으로지도 위의 "택 소노 미 용어 있음"드롭 다운을 변경하고 싶다. 지도 블록 외부에서 호출하는 자바 스크립트 함수. – user987875

답변

0

Views Hacks의 자동 제출 하위 모듈은 여기에서 매우 유용 할 수 있습니다. 나는 그것을 많이 사용한다. JS를 통해 클릭이 발생하는 경우에도 외부에서 설정할 수 있습니다.

0

여기 내가 아약스와 뷰 블록을로드하고 페이지에서 만든 링크 목록의 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); 

});