Javascript在对象中循环以填充HTML选择
我有以下java脚本代码:Javascript在对象中循环以填充HTML选择,javascript,jquery,html,drop-down-menu,Javascript,Jquery,Html,Drop Down Menu,我有以下java脚本代码: var LANGS = { "C#": [10, "text/x-csharp"], "C/C++": [7, "text/x-c++src"], "Clojure": [2, "text/x-clojure"], "Java": [8, "text/x-java"], "Go": [6, "text/x-go"], "Plain JavaScript": [4, "text/javascript"], "PHP
var LANGS = {
"C#": [10, "text/x-csharp"],
"C/C++": [7, "text/x-c++src"],
"Clojure": [2, "text/x-clojure"],
"Java": [8, "text/x-java"],
"Go": [6, "text/x-go"],
"Plain JavaScript": [4, "text/javascript"],
"PHP": [3, "text/x-php"],
"Python": [0, "text/x-python"],
"Ruby": [1, "text/x-ruby"],
"Scala": [5, "text/x-scala"],
"VB.NET": [9, "text/x-vb"],
"Bash": [11, "text/x-bash"],
"Objective-C": [12,"text/x-objectivec"],
"MySQL": [13,"text/x-sql"],
"Perl": [14, "text/x-perl"],
}
我现在有以下代码将该信息显示为警报:
$('#langhelp').on('click', function () {
var msg = "These are the languages and their langids: \n[LANGID]: [LANGUAGE]\n";
var langs = [];
for (var i in LANGS) {
msg += LANGS[i][0] + ": " + i + "\n";
}
alert(msg);
});
但是我想做的是用这些数据填充一个HTML select,我不知道怎么做,我已经看过了,但没有看到如何将选项附加到select元素。只需在列表上循环并创建选项,然后将它们附加到select元素。最后,将
选择附加到所需的容器中
在我的示例中,我使用来迭代项目列表,并创建option
元素的数组。这个数组(实际上是类似jQuery数组的对象)随后作为html
内容附加到新创建的select
元素中
var LANGS={
“C#”:[10,“text/x-csharp”],
“C/C++”:[7,“text/x-C++src”],
“Clojure”:[2,“text/x-Clojure”],
“Java”:[8,“text/x-Java”],
“Go”:[6,“文本/x-Go”],
“纯JavaScript”:[4,“text/JavaScript”],
“PHP”:[3,“text/x-PHP”],
“Python”:[0,“text/x-Python”],
“Ruby”:[1,“text/x-Ruby”],
“Scala”:[5,“text/x-Scala”],
“VB.NET”:[9,“text/x-VB”],
“Bash”:[11,“text/x-Bash”],
“目标C”:[12,“文本/x-Objective”],
“MySQL”:[13,“text/x-sql”],
“Perl”:[14,“text/x-Perl”],
};
变量$select=$(“”{
html:$.map(LANGS,函数(值,键){
返回“”+键+“”;
})
});
$select.appendTo('body')代码>
这是您的:
var LANGS={
“C#”:[10,“text/x-csharp”],
“C/C++”:[7,“text/x-C++src”],
“Clojure”:[2,“text/x-Clojure”],
“Java”:[8,“text/x-Java”],
“Go”:[6,“文本/x-Go”],
“纯JavaScript”:[4,“text/JavaScript”],
“PHP”:[3,“text/x-PHP”],
“Python”:[0,“text/x-Python”],
“Ruby”:[1,“text/x-Ruby”],
“Scala”:[5,“text/x-Scala”],
“VB.NET”:[9,“text/x-VB”],
“Bash”:[11,“text/x-Bash”],
“目标C”:[12,“文本/x-Objective”],
“MySQL”:[13,“text/x-sql”],
“Perl”:[14,“text/x-Perl”],
}
$。每个(语言、函数(键、键值){
var option=$('').prop('value',keyValue[0]).text(key);
$('select')。附加(选项);
});代码>
您也可以尝试类似的方法(纯js):
var LANGS={
“C#”:[10,“text/x-csharp”],
“C/C++”:[7,“text/x-C++src”],
“Clojure”:[2,“text/x-Clojure”],
“Java”:[8,“text/x-Java”],
“Go”:[6,“文本/x-Go”],
“纯JavaScript”:[4,“text/JavaScript”],
“PHP”:[3,“text/x-PHP”],
“Python”:[0,“text/x-Python”],
“Ruby”:[1,“text/x-Ruby”],
“Scala”:[5,“text/x-Scala”],
“VB.NET”:[9,“text/x-VB”],
“Bash”:[11,“text/x-Bash”],
“目标C”:[12,“文本/x-Objective”],
“MySQL”:[13,“text/x-sql”],
“Perl”:[14,“text/x-Perl”],
}
//创建select元素
var sel=document.createElement('select');
//foreach键创建option元素并附加到select元素
for(输入语言){
var opt=document.createElement('option');
opt.value=键;
opt.innerHTML=key;
选择附加儿童(opt);
}
//单击“选择”后,添加
文件.正文.附件(sel)
您希望在什么位置填充selectbox?选项的标签和值应该是什么,是否会使用text/x-csharp
?不,对不起,名称应该是“C”
,值应该是“10”
等等。。。文本/**
不重要