jQuery モバイルを使用して phonegap プロジェクトを構築しています。
私は繰り返し処理しているJavaScriptオブジェクトを持っています。
現在、問題は次のとおりです。
以下は、私のモデル オブジェクトのメソッドです。これは自己再帰的であり、一度呼び出されると、ユーザーがオブジェクトの前のレベルによって生成されたリスト項目をクリックするたびに、次のレベルに再帰します。
私が戦っているのは、反復セグメント b をオブジェクトとしてメソッド自体に渡すことです。何らかの理由で、これはオブジェクト自体ではなく、[Object] という文字列として返されます。
この関数は最初のレベルを表示しているので機能しますが、各子に対して作成している「firstString」文字列に関する何かが、オブジェクトを object という名前の文字列に変えているようです。引用符を削除し、オブジェクトを中括弧で囲みましたが、役に立ちませんでした。
なぜこれが起こっているのか誰にも分かりますか?呼び出しが文字列として生成されるメソッドにオブジェクトを渡すことに関して、明らかに重要な何かが欠けています...
私のコードは以下で、問題の原因となっている行はfirstString+="model.recurseAppTree('"+b+"');";
recurseAppTree: function(AppTree)
{
$.each(AppTree, function(a,b)
{
var firstString='<li data-role="list-divider" role="heading" data-theme="b">'+b.DisplayValue+'</li>';
if(b.Children != null)
{
$.each(b.Children, function(c,d)
{
firstString+="<li data-theme='c'><a data-transition='slide' id='id-"+d.IdValue+"' href='javascript:void(0);'>"+d.DisplayValue+"</a></li>";
firstString+="<script>";
firstString+="$('#id-"+d.IdValue+"').click(function(){";
firstString+="model.recurseAppTree('"+b+"');";
firstString+="});";
firstString+="</script>";
});
}
$("#selectview").html(firstString);
$("#selectview").listview('refresh', true);
});
},