2016-09-20 4 views
0

Ich versuche, eine mobile jQuery-Sache mit Ajax zu drucken, aber es codiert nicht das Ergebnis als jQuery Mobile soll tun.
Dies ist eine vereinfachte Version des Teils des JavaScript-Code, so tun soll:mit jQuery Mobile mit Ajax

<script type="text/javascript"> 
     function changePage(task) { 
      var objText = ""; 
      $.ajax({ 
       type: "POST", 
       url: "DataFetch.aspx/FetchData", 
       data: '{id: ' + <%=Session["loggedID"] %> + ', task: ' + task + ' }', 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (response) { 
        var obj = JSON.parse(response.d); 
        if (task == 2) 
        { 
         objText += "<div data-role='collapsible'><h3>click me</h3><p>text</p></div>"; 
        } 
        document.getElementById('content' + task).innerHTML = objText; 
       } 
      }); 

     } 

</script> 

Wie kann ich es funktioniert? (Wenn ich es ausdrücklich in den HTML-Code schreiben oder außerhalb der Ajax-Funktionen funktioniert es, aber ich muss es mit json arbeiten)

Antwort

0

Versuchen

document.getElementById('content' + task).innerHTML = objText; 

zu

$('#content' + task).HTML(objText).enhanceWithin(); 

Die enhanceWithin Wechsel() Rufen Sie jQM an, um den neuen Inhalt, den Sie über AJAX hinzugefügt haben, zu verbessern: http://api.jquerymobile.com/enhanceWithin/