geeky stuff: autocomplete

Um dos plugins de jQuery que estou a utilizar actualmente é o autocomplete. O objectivo deste plugin é ir dando às pessoas, enquanto elas escrevem numa caixa de texto, uma lista com conteúdos apropriados. A ideia pode ser parecida com a da combobox que indica logo à partida o universo das opções disponiveis mas, no autocomplete, numa perspectiva mais genérica na medida em que as opções que vamos mostrando às pessoas são definidas tendo por base aquilo que estamos a escrever.

Como praticamente todas as funções do jQuery a utilização deste plugin é muito simples. Definimos um contexto para utilização (tipicamente uma textobox) e associamos a função autocomplete com meia dúzia de opções, aqueles que mais utilizei foram:

  • multiple: [false | true] => Whether to allow more than one autocompleted-value to enter.
  • matchContains: [false | true ] => Whether or not the comparison looks inside (i.e. does “ba” match “foo bar”) the search results.
  • formatItem: função => Provides advanced markup for an item.
  • formatResult: função => Similar to formatItem, but provides the formatting for the value to be put into the input field
  • result: função => Is executed when the user selects a value

A receita básica que usei foi a seguinte:

	function formatItem_entidade(row) {
		return row[0] + " (id: " + row[1] + ")";
	}
	function formatResult_entidade(row) {
		return row[0].replace(/(< .+?>)/gi, '');
	}

	$("#MyMatrix_ctl13_txtEntidade").autocomplete(GetAjaxServer() + '&Operation=GetSugestoesKeywordsExperienciasEntidades', {
		width: 300,
		multiple: false,
		matchContains: false,
		formatItem: formatItem_entidade,
		formatResult: formatResult_entidade
	});

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *