2016-11-15 1 views
0

J'utilise MagicSuggest dans un formulaire. Le plugin fonctionne très bien mais je veux avoir la fonctionnalité pour y ajouter des données via un clic de bouton.Comment ajouter des données à l'entrée MagicSuggest via un bouton, cliquez sur

C'est ce que j'ai essayé ci-dessous, il y ajoute les données mais si je clique sur l'entrée, les données disparaissent.

HTML

<div class="qa-suggested-profiles"> 
    <a href="#/" data-name="John Doe" class="btn btn-sm tag-profile-btn">Add this profile</a> 
</div> 

JS

$('.qa-suggested-profiles').on('click', '.btn', function(){ 
    var profileName = $(this).data('name'); 
    $('#tag-business .ms-sel-ctn').prepend('<div class="ms-sel-item ">' + profileName + '<span class="ms-close-btn"></span></div>'); 
    $('#tag-business .ms-sel-ctn input').attr('placeholder', '').width('auto'); 
    $('#tag-business .ms-sel-ctn div').prepend('<input type="hidden" value="1">'); 
}); 

Répondre

0

je trouve quelque chose dans la documentation qui accomplit cette tâche. Aller à http://nicolasbize.com/magicsuggest/doc.html et rechercher setValue([array] ids) Voir exemple ci-dessous:

var ms = $('#ms-setValue').magicSuggest({ 
    data: 'data.json' 
}); 
ms.setValue([2, 3, 4]); 

Voici le code final je, j'ai aussi ajouté removeFromSelection pour effacer la sélection sur chaque bouton cliquez

$('.qa-suggested-profiles').on('click', '.btn', function(){ 
    var profileName = $(this).data('name'); 
    var ms = $('#tag-business').magicSuggest({ 
     data: '/data/business-profiles.json' 
    }); 
    // remove current value 
    ms.removeFromSelection(ms.getSelection(), true); 
    // add selected value 
    ms.setValue([profileName]); 
});