是否有任何可能的方法生成所有表情符号并使用JavaScript将其附加到单个选择下拉列表?或者我必须手动输入每个?
<select>
<option></option>
<option></option>
<select>
<script>
function()
{
// How do I put all the emojis into the select dropdown..?
}
</script>
答案 0 :(得分:8)
您可以定义不同表情符号范围的开始和结束值。然后,您可以循环遍历每个范围并将表情符号附加到选项标记。
var mySelect = document.getElementById('mySelect')
var newOption;
var emojRange = [
[128513, 128591], [9986, 10160], [128640, 128704]
];
//inside emojRange 2d array , define range arrays (start number,end number).
//1st array : Emoticons icons
//2nd range : Dingbats.
//3rd range : Transport and map symbols
for (var i = 0; i < emojRange.length; i++) {
var range = emojRange[i];
for (var x = range[0]; x < range[1]; x++) {
newOption = document.createElement('option');
newOption.value = x;
newOption.innerHTML = "&#" + x + ";";
mySelect.appendChild(newOption);
}
}
我从此网站获取了十六进制范围:http://apps.timwhitlock.info/emoji/tables/unicode。
var mySelect = document.getElementById('mySelect')
var newOption;
var emojRange = [
[128513, 128591] ,[9986,10160],[128640,128704]
];
//inside array define range arrays.
//1st array : Emoticons icons
//2nd range : Dingbats.
//3rd range : Transport and map symbols
for (var i = 0; i < emojRange.length; i++) {
var range = emojRange[i];
for (var x = range[0]; x < range[1]; x++) {
newOption = document.createElement('option');
newOption.value = x;
newOption.innerHTML = "&#" + x + ";";
mySelect.appendChild(newOption);
}
}
option {
font-size:50px;
}
<select id="mySelect">
</select>
答案 1 :(得分:4)
我从Full Emoji Data, v3.0下载了字符并将它们放在JavaScript library hosted in Github下,在非授权下发布。
使用它可以编写如下代码:
var target = document.getElementById("target");
var emojiCount = emoji.length;
for(var index = 0; index < emojiCount; index++)
{
addEmoji(emoji[index]);
}
function addEmoji(code)
{
var option = document.createElement('option');
option.innerHTML = code;
target.appendChild(option);
}
<script src="https://rawgit.com/theraot/emoji/master/emoji.js" charset="utf-8"></script>
<select id ="target">
<select>
您可以使用JavaScript将列表过滤为只有那些没有修饰符的表情符号。
我将复制我在Github为该项目编写的README:
JavaScript的所有表情符号列表
使用如下:
<script src="https://rawgit.com/theraot/emoji/master/emoji.js" charset="utf-8"></script>
表情符号列表是从Full Emoji Data, v3.0
中检索到的注1:某些表情符号由两个Unicode字符组成。这些是使用表情符号修饰符,可能无法正确呈现。
注2:支持可能因浏览器和平台而异,平台也不同,建议使用表情符号字体。
答案 2 :(得分:1)
如果您的表情符号是unicode字符,请将它们全部放入数组中并循环以构建您的选择下拉列表,如下所示:
var myEmojis = ['☺', '☹']; //put all your emojis in this array
var selectOptions = "<option>select</option>";
for(var i = 0; i < myEmojis.length; i++){
selectOptions += "<option>" + myEmojis[i] + "</option>"
}
$('select').html(selectOptions);