【问题标题】:How to traverse through an array of JSON in javascript? and use it to populate <option> element如何在javascript中遍历一个JSON数组?并用它来填充 <option> 元素
【发布时间】:2022-11-16 13:36:23
【问题描述】:

我有这个 JSON 数组,我想遍历它们并用它来填充我的 option 元素。

样品阵列:

var myOptionData = [
          {fooValue:"1", fooText:"option A"},
          {fooValue:"2", fooText:"option B"},
          {fooValue:"3", fooText:"option C"}
] 

我确实使用了这种方法:

var fields="";

 fields += "</select >";

        fields += "<option  value='0'></option>";
        $.each(myOptionData , function (key, value) {
            fields += "<option value=" + value.fooValue + ">" + value.fooText + "</option>";
        });
        fields += "</select >";

//But I want to make it more flexible, so that I can reuse it in making another &lt;option&gt; from another array of JSON, like this scenario:

var myNewOptionData = [
          {myValue:"5", myText:"option E"},
          {myValue:"6", myText:"option F"},
          {myValue:"7", myText:"option G"},
          {myValue:"8", myText:"option H"}
] 

//Now I cannot use the method above

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    简单地将整个操作变成一个函数:

    function mkSelect(data){
      return "</select ><option  value='0'></option>"
           + Data.map(o=>{
              let [val,txt]=Object.values(o);
              return "<option value=" + val + ">" + txt + "</option>"}) 
           + "</select >";
    }
    
    fields+=mkSelect(myOptionData)
           +mkSelect(newOptionData); 
    

    【讨论】:

    • 您没有注意到两个数组中的对象属性不同 ;)
    • 是的,只是刚刚注意到它,我相应地改变了我的答案。
    猜你喜欢
    • 2015-03-05
    • 2022-08-22
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 2018-08-05
    • 2021-04-02
    • 2021-03-15
    • 2014-01-13
    相关资源
    最近更新 更多