选择阵列中的特定元素以进行下拉列表

时间:2015-07-17 21:37:39

标签: javascript jquery arrays

我正在尝试使用JavaScript和jQuery从数组的一个特定元素中的值生成下拉列表。

我的数组被定义为变量,如下所示:

var ht_parties = [
  {
    "id_Group": "41DC3C63-F423-4941-ACF7-63118BD9CE19",
    "name": "Ayiti An Aksyon",
    "nameAbbreviated": "AAA",
    "nameAcronym": "AAA"
  },
  {
    "id_Group": "9AF9E215-0376-460F-B69A-F380F35729CA",
    "name": "ACAAU",
    "nameAbbreviated": "ACAAU",
    "nameAcronym": "ACAAU"
  } 
]

生成下拉列表的代码如下:

var select = document.getElementById("selectNumber"); 
var options = ht_parties; 

for ( var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.text = opt;
    el.value = opt;
    select.appendChild(el);
};

我希望下拉列表中填充数组元素“name”的值。但是,这当前正在生成一个下拉列表,其中列表项为“[object Object]”。如何仅从数组中选择元素“name”并用它填充下拉列表?

2 个答案:

答案 0 :(得分:3)

您需要指定要设置为el text valueel.text = opt; el.value = opt;

的选项上的哪个键
el.text = opt.name;
el.value = opt.name;

需要像

YourGUIName_OpeningFcn(hObject, eventdata, handles, varargin)

(或您想要设置的任何键)

答案 1 :(得分:0)

使用此

var select = document.getElementById("selectNumber"); 
var options = ht_parties; 

for ( var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.text = opt.name;
    el.value = opt.name;
    select.appendChild(el);
};