我選擇了標籤輸入,並且我可以使用MagicSuggest插件選擇多個項目。在JavaScript中的每個單詞之後添加逗號
問題是,我選擇後得到的值是一個沒有逗號分隔的字符串。
像:
MVCPHPASP.Net
我想將它更改爲:
MVC,PHP,ASP.Net
當我提醒我得到的字符串:
所以,我該怎麼辦呢?
我選擇了標籤輸入,並且我可以使用MagicSuggest插件選擇多個項目。在JavaScript中的每個單詞之後添加逗號
問題是,我選擇後得到的值是一個沒有逗號分隔的字符串。
像:
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(',')
[這裏](http://prntscr.com/9x7brr)這是我得到的結果,所以我怎麼能得到名稱 –
我被更新了我的答案.. –
所以我們如何如果我選擇多個項目 –
你不這樣做,除非你有非常您正在尋找的具體詞彙。幾乎每個標籤組件都提供了某種形式的序列化,可以爲您做到這一點。既然你沒有說你正在使用哪一個,就沒有辦法知道那個特定的人是如何做到的。更有可能你只是抓住一個原始數組而不使用'join'。 –
如果你可以向我們展示html和javascript相對於你正在使用的這個問題,這將是非常有用的。 –
[這裏](http://prntscr.com/9x6j3l)它是我的js文件獲取該文本框中的字符串 [這裏](http://prntscr.com/9x6jfo)這是我的js文件使用魔法建議 [這裏](http://prntscr.com/9x6jqs)這是我的HTML文件來顯示魔術建議 –