在 JavaScript 中的每个单词后添加逗号

Adding comma after each word in JavaScript

我选择了标签输入,我可以使用 MagicSuggest 插件选择多个项目。

问题是我选择后得到的值是一个没有逗号分隔的字符串。

赞:

MVCPHPASP.Net

我想改成:

MVC,PHP,ASP.Net

我选择多项时得到的结果:

警报时得到的字符串:

那我该怎么做呢?

正确的方法是使用插件的API获取数据,而不是奇怪的解析.

根据docs可以使用函数.getSelection()获取选中项

var ms = $('#ms-getValue').magicSuggest({
  data: [
    {
      id: 1,
      name: 'Paris'
    },
    {
      id: 2,
      name: 'New York'
    },
    {
      id: 3,
      name: 'Gotham'
    } 
  ]
});

function getValues() {
  // array
  var selected = ms.getSelection();
  alert(selected.map(function(item) {
    return item.name;
  }).join(','));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://nicolasbize.com/magicsuggest/lib/magicsuggest/magicsuggest.css" rel="stylesheet" />
<script src="http://nicolasbize.com/magicsuggest/lib/magicsuggest/magicsuggest.js"></script>

<div id="ms-getValue"></div>
<button onclick="getValues()">Get Values</button>

更新 结果是Array。因此,要获得您执行的第一个(例如)选定对象:selected[0].name

更新 2

要显示所有以逗号分隔的选定值:

selected.map(function(item) {
  return item.name;
}).join(',')