2016-01-31 99 views
-2

我選擇了標籤輸入,並且我可以使用MagicSuggest插件選擇多個項目。在JavaScript中的每個單詞之後添加逗號

問題是,我選擇後得到的值是一個沒有逗號分隔的字符串。

像:

MVCPHPASP.Net

我想將它更改爲:

MVC,PHP,ASP.Net

,我得到當我選擇多個項目的結果:

當我提醒我得到的字符串:

所以,我該怎麼辦呢?

+0

你不這樣做,除非你有非常您正在尋找的具體詞彙。幾乎每個標籤組件都提供了某種形式的序列化,可以爲您做到這一點。既然你沒有說你正在使用哪一個,就沒有辦法知道那個特定的人是如何做到的。更有可能你只是抓住一個原始數組而不使用'join'。 –

+4

如果你可以向我們展示html和javascript相對於你正在使用的這個問題,這將是非常有用的。 –

+0

[這裏](http://prntscr.com/9x6j3l)它是我的js文件獲取該文本框中的字符串 [這裏](http://prntscr.com/9x6jfo)這是我的js文件使用魔法建議 [這裏](http://prntscr.com/9x6jqs)這是我的HTML文件來顯示魔術建議 –

回答

3

正確的方法是使用插件的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(',') 
+0

[這裏](http://prntscr.com/9x7brr)這是我得到的結果,所以我怎麼能得到名稱 –

+0

我被更新了我的答案.. –

+0

所以我們如何如果我選擇多個項目 –

相關問題