使用javascript添加选项组
我正在使用javascript向选择框添加选项,代码如下:使用javascript添加选项组,javascript,html,Javascript,Html,我正在使用javascript向选择框添加选项,代码如下: function putDropDown(dataArr, fnVars){ var dropField = document.forms[fnVars['formName']].elements[fnVars['fieldName']]; if(dropField) { dropField.options.length = 0; if(dataArr != 'empty') {
function putDropDown(dataArr, fnVars){
var dropField = document.forms[fnVars['formName']].elements[fnVars['fieldName']];
if(dropField) {
dropField.options.length = 0;
if(dataArr != 'empty') {
for(var i=0; i<dataArr[fnVars['valFld']].length; i++){
var optIdx = dropField.options.length;
dropField.options[optIdx] = new Option(dataArr[fnVars['txtFld']][i],dataArr[fnVars['valFld']][i]);
}
}
}
}
函数putDropDown(dataArr、fnVars){
var dropField=document.forms[fnVars['formName']].elements[fnVars['fieldName']];
if(dropField){
dropField.options.length=0;
if(dataArr!=“空”){
对于(VarI=0;i如果我正确理解你
<html>
<body>
<form name="mainForm">
<select id="mainSelect" name="mainSelect"></select>
</form>
</body>
<script>
function putDropDown(dataArr, fnVars){
var dropField = document.forms[fnVars['formName']].elements[fnVars['fieldName']];
if (dropField) {
dropField.options.length = 0;
if (dataArr != 'empty') {
for (var i in dataArr[fnVars['valFld']]) {
var groupData = dataArr[fnVars['valFld']][i];
var group = document.createElement('optgroup');
group.label = groupData.group;
for (var key in groupData.options) {
var opt = document.createElement('option');
opt.value = key;
opt.innerHTML = groupData.options[key];
group.appendChild(opt);
}
dropField.appendChild(group);
}
}
}
}
putDropDown(
{mSelect: [
{group: 'top', options: {1: 'one', 2: 'two'}},
{group: 'bottom', options: {f: 'foo', b: 'bar'}}
]},
{formName: 'mainForm', fieldName: 'mainSelect', valFld: 'mSelect'}
);
</script>
</html>
函数putDropDown(dataArr、fnVars){
var dropField=document.forms[fnVars['formName']].elements[fnVars['fieldName']];
if(dropField){
dropField.options.length=0;
if(dataArr!=“空”){
用于(数据阵列中的变量i[fnVars['valFld']]{
var groupData=dataArr[fnVars['valFld']][i];
var group=document.createElement('optgroup');
group.label=groupData.group;
for(groupData.options中的var键){
var opt=document.createElement('option');
opt.value=键;
opt.innerHTML=groupData.options[key];
儿童组(opt);
}
dropField.appendChild(组);
}
}
}
}
衰败(
{mSelect:[
{组:'top',选项:{1:'one',2:'two'},
{组:'bottom',选项:{f:foo',b:bar'}
]},
{formName:'mainForm',fieldName:'mainSelect',valFld:'mSelect'}
);
您能提供dataArr和fnVars的值吗?这只是一个文本和值的数组。我可以将选项组标签与dataArr一起传递,但您能告诉我如何添加类似于optgroup的dropField.options[optIdx]?您给出的示例是正确的,但这将创建选项,对吗?我需要创建选项组的帮助。非常感谢您的回答。@NehaDangui NP,希望它能帮助您!)