2014-03-12 87 views
0

我想動態創建一些表格,其中一些鏈接指向其他一些帶有循環的url,注意:在每個我填充的動態html中都有動態值,這些動態值由數組填充我的代碼在下面給出。當我運行這段代碼時,js返回一個數組「意想不到的東西」,我試了一下也是一樣..錯誤再次一樣。幫我出怪胎。如何使用forloop構建動態html

html += '<tr class="' + (i % 2 == 0 ? 'grid_color' : '') + '" data-type="record" data-record-id="' + records[i].id + '" data-row-index="' + i + '">' 

+ '<td data-table-col="16" title="' + Samples.htmlEntities(records[i].name_id) + '">' + 
for (i = 0; i < nameSplit.length; i++) { 
    if (nameSplit[i] != "None") { 
     name = nameSplit[i].split("."); 
     name = name.shift(); 
     '<a target = "_blank" href="http://www.google.com/' + name + '">' + name.substr(0, 10/nameSplit.length) + (name.length > 10/nameSplit.length ? '...' : '') + '</a>' 
    } else { 
     if (i != nameSplit.length - 1) { 
      "|"; 
     } 
    } else { 
     if (i != nameSplit.length - 1) "None".concat("|"); 
     else "None"; 
    } 
} 
} 
'</td>' 
+0

它是我的代碼的一部分,它是動態創建一個表。問題是隻有在for循環包含在那裏。如果我刪除for循環它將正常工作。我想知道熱適用於動態創建HTML內的forloop。我真的堅持這一點。 :( – DjangoDev

+1

你只是不能在for循環中附加一個字符串,看看錯誤控制檯,Ypu必須把循環包裝到一個函數中,然後返回你希望附加到'html'的值。 – davidkonrad

回答

1

我試着修復你的代碼縮進和格式,但它對我來說只是無法閱讀。但無論如何,我會以你爲例適應你的具體需求。

var html = "<table>"; 
for(var i = 0; i<someCondition; i++){ 
    html +="<tr><td>Cell 1</td><td>Cell 2</td><tr>"; 
} 
html += "</table>"; 

你所得到的錯誤是因爲某處你的代碼中有類似... + for(...)並不起作用,一個for循環不會返回,所以它不會得到任何東西。

+0

謝謝你的回答。我知道了.. – DjangoDev

1

你不能那樣做。如果您將字符串添加到一起,則需要字符串。如果你在那個時候編寫代碼,它被看作是無效的字符串,而不是生成實際字符串的代碼。

您需要將所有腳本放在字符串追加到'html'的部分之前。
如果你直接寫入html源代碼(這是一個可怕的方法),你應該閱讀關於應用腳本的基礎知識(儘管如此,我猜你比你更有經驗)。

所以:把腳本放在「html + A + B + ...」之前。

+0

非常感謝你的建議.. – DjangoDev