我有两个json对象
var type = [{"Id":1,"Name":"This is a name"}];
var subType = [{"Id":2,"ParentId":1,"Name":"This is a name"},];
subType.ParentId引用type.Id
我希望能够在jQuery中填充选择
<SELECT>
<OPTGROUP LABEL="type.Name" id="type.Id">
<OPTION LABEL="subType.Name" value="subType.Id">subType.Name</OPTION>
</OPTGROUP>
</SELECT>
答案 0 :(得分:2)
下面的代码只使用“select”作为jquery选择器,因此它会影响页面上的所有选择框。 你可能想改变它。
下面的代码也没有处理选择的其中一个选项,这可能是你应该注意的。
var type = [{"Id":1,"Name":"This is a name"}];
var subType = [{"Id":2,"ParentId":1,"Name":"This is a name"}];
var output = [];
$.each(type, function(){
//for each type add an optgroup
output.push('<optgroup label="'+this.Name+'">');
var curId = this.Id;
//linear search subTypes array for matching ParentId
$.each(subType, function(k,v){
if( this.ParentId = curId ){
output.push('<option label="'+this.Name +'" value="'+ this.Id +'">'+ this.Name +'</option>');
//DELETE the element from subType array so the next search takes less time
subType.splice(k,1);
}
});
output.push('</optgroup>');
});
//change the 'select' here to the id of your selectbox
$('select').html(output.join(''));
答案 1 :(得分:0)
Adding optgroups to select using javascript dynamically
你能够将dinamamicaly卷入组合。访问json的值是在这个问题中。
How to access Json Object which has space in its name?
在帖子中有一些情况可以解决您的问题。