Tags de Inicialização Entrada, atribua class a tags com base na chamada ajax

Em Bootstrap Tags Input Plugin Eu posso atribuir colors diferentes para cada tag através do atributo tagClass. Mas eu quero fazer isso por asynchronus ajax call.

Em suma, quero cor padrão, cor de sucesso de validação e cor de falha de validação.

Quando eu faço a chamada jQuery.ajax synchronus, ele funciona bem (como mostrado no código), mas eu não posso fazê-lo com async definido como verdadeiro.

var elt = $('#multiple'); elt.tagsinput({ maxTags: 7, trimValue: true, tagClass: function(item) { var val = $.ajax({ url: 'http://localhost/reg/candidate/?id='.concat(item), dataType: 'json', async: false, }); if (val.status==200){ console.log(val) if((val.responseJSON).resp){ return 'label label-success'; } } return 'label label-danger'; }, confirmKeys: [13, 44,32, 188] }); 

Eu não quero usar pré-busca, pois pode haver uma enorme quantidade de itens de dados no servidor.

Edit: Eu encontrei um caminho hacky para atingir o objective. Mas gostaria de saber qualquer boa opção.

 elt.on('itemAdded', function(event) { $.ajax({ url: 'http://localhost/reg/candidate/?id='.concat(event.item), dataType: 'json', //async: false, success: function(data){ $("span.tag:contains("+event.item+")").removeClass("label-info",1000,"easeInBack"); if(data.resp){ $("span.tag:contains("+event.item+")").addClass('label-success'); } else{ $("span.tag:contains("+event.item+")").addClass('label-danger'); } } }); }); 

    Intereting Posts