2009-01-24 14 views

Répondre

0

Je ne suis pas un expert dans ce domaine, mais je l'ai code écrit de l'échantillon dans le passé qui a fait quelque chose de semblable à cela. L'approche que je pris était la suivante: dans votre classe de cacao où vous souhaitez mettre à jour le code d'insertion de texte similaire à

WebScriptObject *webScriptObject = [_webView windowScriptObject]; 
id result = [webScriptObject callWebScriptMethod:@"setTableRows" withArguments:[NSArray arrayWithObject:fauxData]]; 

où fauxData est tout ce que vous voulez passer à JS, et dans la source JS ont quelque chose de similaire à

var mytable = document.getElementById("myTable"); 
var mytbody = document.getElementById("myTbody"); 
var docFragment = document.createDocumentFragment(); 
var myNewtbody = document.createElement("tbody"); 
myNewtbody.id = "myTbody"; 

var trElem, tdElem, txtNode; 
for(var j = 0; j < row_data.length; ++j) { 
    trElem = document.createElement("tr"); 
    trElem.className = "tr" + (j%2); 

    tdElem = document.createElement("td"); 
    tdElem.className = "col0"; 
    txtNode = document.createTextNode(row_data[j].lastName); 
    tdElem.appendChild(txtNode); 
    trElem.appendChild(tdElem); 

    tdElem = document.createElement("td"); 
    tdElem.className = "col4"; 
    txtNode = document.createTextNode(row_data[j].firstName); 
    tdElem.appendChild(txtNode); 
    trElem.appendChild(tdElem); 

    docFragment.appendChild(trElem); 
} 
myNewtbody.appendChild(docFragment); 
mytable.replaceChild(myNewtbody, mytbody); 

et bien sûr votre code HTML devrait avoir quelque chose comme

<table id="myTable"> 

<thead id="myThead"> 
<tr> 
<th>Last</th> 
<th>First</th> 
</tr> 
</thead> 

<tbody id="myTbody"> 
</tbody> 

</table> 

évidemment, cela remplit les lignes de données dans une table, mais la mise à jour du texte serait b e similaire.

Questions connexes