Drupal.autocomplete

Estava com um problema até agora pouco sobre a personalização do campo autocomplete do drupal, pois quando definimos um campo como autocomplete também necessitamos definir um path encarregado de receber o conteúdo do campo e retornar os resultados em json.

PROBLEMA: precisava limitar a busca utilizando outros parâmetros que são selecionados no mesmo formulário, exemplo: o formulário tinha um select onde é possivel selecionar o pais, e regiao, o campo da cidade era um autocomplete para digitar a cidade. eu necessitava dizer que somente procurar as cidades com o nome digitado dentro da cidade ou da região selecionada para evitar forçar o banco de dados.

então o me ajudou pelo MIRC com a seguinte solução:

SOLUÇÃO: copiar do arquivo mic/autocomplete.js a função Drupal.ACDB.prototype.search = function (searchString) e adiciona-lá no arquivo js do meu módulo e fazer as alterações..


Drupal.ACDB.prototype.search = function (searchString) {
var coord;

/* get left and right, if selected a region for limit the search */

if( $('#edit-selectregion').val() != ''){
coord = $('#edit-selectregion').val();

/* else i use a country for limit the search */

}else{
coord = $('#edit-selectcountry').val();
}

if( coord != '')
coord = coord.split(',');


.....

/* Ajax GET request for autocompletion */

$.ajax({
type: "GET",
url: db.uri +'/'+coord[0]+'/'+coord[1]+'/'+ Drupal.encodeURIComponent(searchString),