2012-02-21 4 views
0

私のデータベースの値をドロップダウンリストに入力しようとしました。私はこのコードを持っている問題があるということjqgridフィルタツールバーで選択を挿入します

editoptions: { value: ":All;" + getDropdowndata() } 

:私は以下の持っている

function getDropdowndata() { 
var sHTML; 
var filter; 
var url = "dropdown.json"; 
jQuery.getJSON(url, function (dddata) { 
    if (dddata.rows.length > 0) { 
     sHTML = ""; 
     for (x = 0; x < dddata.rows.length; x++) { 
      sHTML += (dddata.rows[x].Type + ":" + dddata.rows[x].Type + ";"); 
     } 
     filter = sHTML.substring(0, sHTML.length - 1); 
    } 
}); 
return filter; 
} 

そして、私のJqgridリストに:私は私の.jsファイルに次のコードを持っています関数が早すぎて実行されているようで、ドロップダウンリストには何も含まれていないためです。

私の仮定の理由は、私が戻る前にjavascript関数の内部でアラートを入れた場合、ドロップダウンリストは値で満たされていると、すべてが動作するように思われることです。

提案がありますか?

答えて

0

代わりにJSONを使用してカスタム関数を使用してデータを取得する、あなたは、動的選択フィールドのための組み込み機能を使用してしようとする場合があります(:select edittypeドキュメントを参照してください)。 select要素のコードが生成されるURLを指定するだけです。

colModel:[ 
    {name:'colName', 
    editable:true, 
    edittype:'select', 
    formatter:'select', 
    editoptions:{dataUrl:'/path/to/generated/html/select'} 
] 

次に、あなただけの/path/to/generated/html/selectはselect要素のためのすべての右のHTMLコードを返すことを確認する必要があります。

関連する問題