仅使用JavaScript如何在selectbox中填充JSON数据

仅使用JavaScript如何在selectbox中填充JSON数据,javascript,Javascript,我想只使用JavaScript在选择框中填充JSON数据。我不能使用JQuery或Angular 这是我的HTML <select name="fieldType" id="fieldType"> <option value="selectFieldType">Select Field Type</option> </select> 你能告诉我如何解决这个问题吗。var text=“”; var text = "<select

我想只使用JavaScript在选择框中填充JSON数据。我不能使用JQuery或Angular

这是我的HTML

<select name="fieldType" id="fieldType">
    <option value="selectFieldType">Select Field Type</option>  
</select>
你能告诉我如何解决这个问题吗。

var text=“”;
var text = "<select name='fieldType' id='fieldType'>";
for (i = 0; i < records.length ; i++) {
    text += "<option>" + records[i] + "</option>";
}
text += "</select>";
document.getElementById("demo").innerHTML = text;
对于(i=0;i
您可以使用此代码--

var节点=document.getElementById(“fieldType”);

对于(i=0;i要执行的步骤,

  • 第一次解析JSON
  • 计算已解析JSON数组的长度
  • 循环json数组以获取每条记录
  • 添加到html中
var key='{“记录”:[“日期”,“字符串”]};
var obj=JSON.parse(key);
Object.size=函数(obj){
变量大小=0,键;
用于(输入obj){
if(obj.hasOwnProperty(key))size++;
}
返回大小;
};
变量大小=Object.keys(obj.records).length;
var selectHTML='选择字段类型';

对于(i=0;i,只需解析JSON并从循环中添加元素

var myJsonStr='{“记录”:[“日期”,“字符串”]};
var myJson=JSON.parse(myJsonStr);
var sel=document.getElementById(“字段类型”);
for(设i=0;i

选择字段类型

在记录数组中再举几个例子,并显示预期的输出。我们可以疯狂地编写代码,但我们不能读懂大脑;)但是你可以使用搜索,ja?感谢Archer提供的文本。我是JS新手,这就是为什么可能无法描述更多。JSON来自REST服务。嗨,Josh,谢谢你的解决方案。这里是“添加”func在我的代码中不起作用。获取错误:TypeError:无法读取null的属性“add”,这意味着您没有使用getElementById获取元素。请确保id名称中没有键入错误您是正确的。但我不明白为什么会获取“null”对于var sel。我的html与我在问题中发布的相同。请指导我。@Soma发布生成错误的代码的FIDLE链接感谢ton Josh。现在,您的解决方案在我的应用程序中非常有效。如果您不介意,我想在此基础上问一个问题。我的问题是,仅使用JavaScript如何仅填充选定的da来自JSON的ta?你能在这方面指导我吗。
var text = "<select name='fieldType' id='fieldType'>";
for (i = 0; i < records.length ; i++) {
    text += "<option>" + records[i] + "</option>";
}
text += "</select>";
document.getElementById("demo").innerHTML = text;
var node =document.getElementById("fieldType");
for(i=0;i<data.length;i++){
var option = document.createElement("option");
option.text = data[i];
//option.value = data[i];
node.add(option);
}