我有数据到数组中
Var myObj = {
"myScale" : ['2','3','4','5'];
"myValues" : ['2.0','3.0','4.0','5.0'];
}
Var myObj2 = {
"myScale" : ['2','3','4','5'];
"myValues" : ['2.0','3.0','4.0','5.0'];
}
需要从上述对象动态创建下拉菜单
<select>
<optgroup label="myObj">
<option >myScale</option>
<option >myValues</option>
</optgroup>
<optgroup label="myObj2">
<option >myScale</option>
<option >myValues</option>
</optgroup>
</select>
当我从 myObj/myObj2 选择 myScale 选项时,我需要获取值 myObj/myObj2.myScale 并动态打印到文档中。我比较新鲜,请帮助我。
最佳答案
试试这个:
function addGroup(obj, label, combo){
if(!combo) combo = $("<select/>");
var group = $('<optgroup label="' + label + '"></optgroup>');
combo.append(group);
for(var i=0;i<obj.myScale.length;i++){
group.append('<option value="'+obj.myValues[i]+'">'+obj.myScale[i]+'</option>');
}
return combo;
}
然后这样调用它:
var combo = addGroup(myObj, "myObj");
addGroup(myObj2, "myObj2", combo);
请注意,此函数在上面的第一次调用中创建了一个新组合,对于其他组合,您可以将创建的组合作为其第三个参数传递。
或者,如果您已经在页面中选择了节点,则可以执行以下操作:
addGroup(myObj, "myObj", $("#mycombo"));
addGroup(myObj2, "myObj2", $("#mycombo"));
关于javascript - 使用 jquery/javascript 从下拉列表中选择时如何将数据存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22034392/