4

私は2つの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を作成できるようにしたい

<SELECT> 
<OPTGROUP LABEL="type.Name" id="type.Id">        
<OPTION LABEL="subType.Name" value="subType.Id">subType.Name</OPTION>                  
</OPTGROUP>
</SELECT>
4

2 に答える 2

2

以下のコードは、jquery セレクターとして「select」のみを使用するため、ページ上のすべての選択ボックスに影響します。おそらくこれを変更したいと思うでしょう。

以下のコードは、おそらく注意が必要なオプションの 1 つが選択されていることも処理しません。

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(''));
于 2012-03-26T04:03:07.750 に答える
0

javascript を使用して動的に選択するための optgroup の追加

コンボを動的に作成できます。アクセス json の値は この質問では。

名前にスペースが含まれるJsonオブジェクトにアクセスするには?

あなたの質問を解決するために、いくつかの状況を投稿してください。

于 2012-03-26T02:47:20.147 に答える