2011-06-23 18 views
0

ASP.NET MVC 3アプリケーションで$.get()を使用してデータベースからの応答を非同期的に取得しています。レスポンスが正しく返され、レスポンスに基づいてHTMLを文字列変数に生成し、最後にマークアップページのdivに最後に追加します。デバッグモードでは、作成された完全なHTMLが表示されますが、ブラウザではレンダリングされません。ここでJQueryがHTMLをレンダリングしない

はこれを引き起こしている可能性がどのような私のサンプルコード

$.get("/Modules/FetchModuleActionsByModuleID", { ModuleID: ModuleID }, function (response) 
{ 
    if (response.replace(/"/g, '') != '{d:[]}' && response.replace(/"/g, '') != '{d:null}' && response.replace(/"/g, '') != '' && response != '') 
    { 
     var actions = eval('(' + response + ')'); 
     var moduleHtml=""; 
     if (actions.length > 0) 
     { 
      for (i = 0; i < actions.length; i++) 
      { 

       moduleHtml += "<div class='moduleFieldSetting'>"; 
       moduleHtml += "<span class='pdRL10x2 fl'><input type='checkbox' name='" + ModuleName + "_Actions' value='" + actions[i].ActionID + "' /></span>"; 
       moduleHtml += "<span>" + actions[i].ActionName + "</span>"; 
       moduleHtml += "<div class='clear'></div>"; 
       moduleHtml += "</div>"; 
      } 

      moduleHtml += "<div class='fr mt15'>"; 
      moduleHtml += "<span class='fr'><input type='button' class='inpuButtonAdd' value='Save' /> "; 
      moduleHtml += "<input type='button' class='inpuButtonAdd' value='Cancel' /> "; 
      moduleHtml += "</span>" 
      moduleHtml += "</div>"; 

      moduleHtml += "</div>"; 

      moduleHtml += "<div class='clear'></div>"; 
      moduleHtml += "</div>"; 
      moduleHtml += "</div>"; 
      moduleHtml += "<div class='clear'></div>"; 


      $("#divModuleDetails").append(moduleHtml); //appending to div 
     } 
    } 
}); 

のですか?

+0

この問題はIEのみで発生しています.FireFoxでの作業 – Vivek

+0

使用しているIEのバージョンは何ですか? – bhagyas

+0

問題がなくなるまで、 'moduleHTML'をトリミングしてみましたか?それは、少なくとも、あなたに問題のいくつかの考えを与えるでしょう。 –

答えて

0

この行を見て:

moduleHtml += "</span>" 

私は、問題は、私はそれが動作するはずだと思うまだのみスパンを印刷するが、おそらく何も:)

がとにかくスクリプトの最適化の下にチェックアウトしていないスクリプトだと思います;)

$.get("/Modules/FetchModuleActionsByModuleID", { ModuleID: ModuleID }, function (response) 
{ 
    if (response.replace(/"/g, '') != '{d:[]}' && response.replace(/"/g, '') != '{d:null}' && response.replace(/"/g, '') != '' && response != '') 
    { 
     var actions = eval('(' + response + ')'); 
     var moduleHtml; 
     if (actions.length > 0) 
     { 
      for (i = 0; i < actions.length; i++) 
      { 

       moduleHtml += "<div class='moduleFieldSetting'>" 
       + "<span class='pdRL10x2 fl'><input type='checkbox' name='" 
       + ModuleName 
       + "_Actions' value='" 
       + actions[i].ActionID 
       + "' /></span>" 
       + "<span>" 
       + actions[i].ActionName 
       + "</span>" 
       + "<div class='clear'></div>" 
       + "</div>"; 
      } 

      moduleHtml += "<div class='fr mt15'>" 
      +"<span class='fr'><input type='button' class='inpuButtonAdd' value='Save' /> " 
      + "<input type='button' class='inpuButtonAdd' value='Cancel' /> " 
      +"</span>" 
      + "</div>" 
      + "</div>" 
      + "<div class='clear'></div>" 
      + "</div>" 
      + "</div>" 
      + "<div class='clear'></div>"; 


      $("#divModuleDetails").append(moduleHtml); //appending to div 
     } 
    } 
}); 
+0

...最新のjqueryバージョンがあることを確認してください;) – memento

関連する問題