如何通过单击按钮将数据添加到MagicSuggest输入

时间:2016-11-15 22:15:35

标签: jquery autocomplete magicsuggest

我正在使用MagicSuggest 在一种形式。该插件工作得很好,但我希望能够通过点击按钮为其添加数据。

这是我在下面尝试过的,它将数据添加到它,但如果我点击输入,数据就会消失。

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">');
});

1 个答案:

答案 0 :(得分:0)

我在文档中找到了完成此任务的内容。转到http://nicolasbize.com/magicsuggest/doc.html并搜索setValue([array] ids)请参阅以下示例:

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

以下是我使用的最终代码,我还添加了removeFromSelection来清除每个按钮上的选择

$('.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]);
});