Autorizados a modificar o plug select2 vários caracteres a partir do tipo de pedido de transmissão de partida determinada de acordo com os dados introduzidos

No início, eu tenho que dizer, eu não estou familiarizado com select2. trabalho apenas usado em tão apressadamente olhou sua documentação.

O ponto, o trabalho necessário para procurar por usuários com base no nome ou número de telefone do usuário, mas porque muitos usuários, a entrada de cada usuário não pode voltar para verificar novamente, é necessário usar minimumInputLength select2 fornecem controlado a partir de Especifica o caractere mínimo começou antes de enviar o pedido. Pervertido que parece, para o nome com o número de telefone não pode ser definido para o mesmo valor. É necessário fazer uma função minimumInputLength, para determinar dinamicamente o seu valor. E, no entanto minimumInputLength select2-se visto como um número, é preciso modificar o código-fonte do select2. Em seguida, falar sobre o que áreas mudaram. Há dois lugares defaults.js e minimumInpoutLength.js.


Deixe-me falar defaults.js, encontrar o código abaixo:

if (options.minimumInputLength> 0) {
        options.dataAdapter = Utils.Decorate (
          options.dataAdapter,
          MinimumInputLength
        );
      }

Mudar isso para:

se (options.minimumInputLength) {
        options.dataAdapter = Utils.Decorate (
          options.dataAdapter,
          MinimumInputLength
        );
      }


Este código faz-me um pouco surpreendido, mesmo com um modo de decorador, o código deve ter a oportunidade de lê-lo novamente select2, aprender sobre idéias de outras pessoas :)


Então minimumInputLength.js:

Encontrar consulta método, modificado como segue:

  MinimumInputLength.prototype.query = função (decorado, params, chamada de retorno) {
    params.term = params.term || '';
    var minimumInputLength = 'função' typeof (this.minimumInputLength) === && this.minimumInputLength (params) || this.minimumInputLength;


    if (params.term.length <minimumInputLength) {
      this.trigger ( 'Resultados: mensagem', {
        mensagem: 'inputTooShort',
        args: {
          mínima: minimumInputLength,
          de entrada: params.term,
          params: params
        }
      });


      Retorna;
    }


    Decorated.call (isto, params, de retorno de chamada);
  };




Publicado 55 artigos originais · ganhou elogios 39 · vê 80000 +

Acho que você gosta

Origin blog.csdn.net/Chinese521/article/details/52316493
Recomendado
Clasificación