2014-02-23 29 views
0

我正试图“更新”从数据库收集的数据列表。现在,我的代码将值列表打印到div中。我希望它只追加一个新的坐标集+值,如果在检查后发现一个值,则不会再次打印同一个集。如果数据长度发生变化,则添加一个Div

我试图清除身体,但我想它来更新DIV因为它沿着不清楚去它completely.I使用

document.body.innerHTML = ''; 

将其清除。

你可以在这里看到它是如何重复相同的值,我希望标记值更新现有的div条目。

enter image description here

Parse.initialize("API", "API"); 



var mValue = Parse.Object.extend("mValue"); 
var queryLngLat = new Parse.Query(mValue); 
var classObject = new mValue(); 
var existingMarkers= []; 
var databaseMarkers= []; 
var counter = 0; 
var div ; 
var resultsLength; 


setInterval(function update() { 

queryLngLat.notEqualTo("longAndLat", null); 
queryLngLat.find({ 
    success: function(results) { 

     console.log("Successfully retrieved " + results.length + " scores."); 

    for (var j = 0; j < results.length; j++) { 
    databaseMarkers = (results[j].attributes.longAndLat); 
resultsLength = results.length; 

    var markerValueRead = results[j].attributes.Val; 

    CoordsPush = databaseMarkers.substring(1, databaseMarkers.length - 1); 

    div = document.createElement("div"); 
     div.style.width = "400px;"; 
    div.style.background = "white"; 
    div.style.color = "black"; 
    div.innerHTML = "Database LatLng: " + CoordsPush + " Marker Value: " + markerValueRead;          document.body.appendChild(div); 

    //console.log("(" + markers[d].getPosition().d + ", " + markers[d].getPosition().e +")"); 

    console.log("Database LatLng: " + databaseMarkers + " Marker Value: " + markerValueRead); 

     } 

    } 

    }); 


}, 10000); 

}); 
+0

做什么?你能试着澄清一下你想要的东西吗? – Jonas

+1

我想要做的是为每个坐标集和值创建一个新的div或列表项(无关紧要)。因为它在我的屏幕截图中。那么如果数据库的值发生变化,我希望它在它已经被创建的时候更新,如果它之前没有被创建,那么将它添加到列表的底部。希望是有道理的! –

+0

那么你显然必须检查哪些值已经存在_is_显示它们的现有元素。 – CBroe

回答

1

您可以添加一个ID到每个div都创建了坐标通过这个div显示的唯一标识符。

喜欢的东西

div = document.createElement("div"); 
div.id = CoordsPush   // <---- ADD THIS LINE 
div.style.width = "400px;"; 
div.style.background = "white"; 
div.style.color = "black"; 
div.innerHTML = "Database LatLng: " + CoordsPush + " Marker Value: " + markerValueRead;          document.body.appendChild(div); 

然后添加代码,以检查是否与该ID的DIV创建一个新的人之前已经存在。并用刚刚从后端获得的新值更新现有的div。

编辑:也许你需要变换坐标字符串值,使之成为有效身份证要更新的股利价值,而不是创造新的div

+0

我添加了一个计数器,添加“div”+计数器,使div1 div2 div3等。但由于我的代码它只是清除现有的并重新添加它们而不是离开它们并更新Val –

+0

您需要关联div标识符与其中的数据相匹配,否则以后将无法与来自后端的新数据匹配。我建议使用CoordsPush,因为这是我拥有的所有信息。如果您可以为后端的行添加某种标识符,甚至更好。 – Jonas

+0

@Dan你必须添加一个if子句来检查div是否已经存在,否则当然它只会创建新的。 – Jonas

相关问题