2012-09-14 53 views
0

我在這裏新編程的知識非常有限。我只是使用我從網上找到的任何東西,並在他們到期。讓我解釋我的意思。從其他欄目+文本中提取數據插入新列

我有一個看起來像這樣的數據庫文本文件。

colh01|colh02|colh03|colh04|colh05| 
data11|data12|data13|data14|data15| 
data21|data22|data23|data24|data25| 
data31|data32|data33|data34|data35| 
data41|data42|data43|data44|data45| 

現在我使用了我在網上找到的javascript來將內容顯示到表中。

<script type="text/javascript"> 
onload = function() { 
    if (!document.getElementById || !document.getElementsByTagName) 
     return; 
    var frm = null, 
    prenode, 
    tbod = document.getElementById('tbod'), 
    data = ''; 
    if ((frm = top.frames['buffer']) //iframe 
     && frm.document) { //get <pre> parent 
     prenode = frm.document.getElementsByTagName('pre').item(0); 
     if (null != prenode 
      && null != prenode.firstChild 
      && /#text/.test(prenode.firstChild.nodeName)) //text node 
     { 
      data += prenode.firstChild.data; //read 
      data = data.split(/[\n\r]/); //separate lines 
      data.splice(0, 0); //lose first two (legend) 
      var i = 0, 
      l = data.length, rowdata, ii, ll, tr, td; 
      for (; i < l; ++i) { 
       tr = document.createElement('tr'); //new row 
       tbod.appendChild(tr); 
       rowdata = data[i].split("|", 6); //separate bits 
       for (ii = 0, ll = rowdata.length; ii < ll; ++ii) { 
        td = document.createElement('td'); //new cell 
        td.appendChild(document.createTextNode(rowdata[ii])); 
        tr.appendChild(td); 
       } 
      } 
     } 
    } 
} 

</script> 

它工作正常,輸出看起來像這樣。

colh01 colh02 colh03 colh04 colh05 
data11 data12 data13 data14 data15 
data21 data22 data23 data24 data25 
data31 data32 data33 data34 data35 
data41 data42 data43 data44 data45 

然後,我想插入一個列(colh6),將有第一列的數據。它應該看起來像這樣

colh01 colh02 colh03 colh04 colh05 colh6 (new column)-->(link to file) 
data11 data12 data13 data14 data15 'file-<data11>.pdf' -->(href='http://locahost/file-<data11>.pdf') 
data21 data22 data23 data24 data25 'file-<data21>.pdf' -->(href='http://locahost/file-<data21>.pdf') 
data31 data32 data33 data34 data35 'file-<data31>.pdf' -->(href='http://locahost/file-<data31>.pdf') 
data41 data42 data43 data44 data45 'file-<data41>.pdf' -->(href='http://locahost/file-<data41>.pdf') 

我該如何解決這個問題?數據是用戶可以單擊以打開該文件的超鏈接。

回答

0

您已經完成了艱難的部分,所有你缺少的是如何使用JavaScript創建一個鏈接。如果您只是在循環後添加這些行,它將使用第一列的內容創建一個鏈接;

var newlink = document.createElement('a'); 
newlink.setAttribute('href', 'http://localhost/file-' + rowdata[0] + '.pdf'); 
newlink.appendChild(document.createTextNode('Link text')); 
td = document.createElement('td'); 
td.appendChild(newlink); 
tr.appendChild(td); 

有關創建動態鏈接here的更多信息。

+0

您正在將'a'標籤附加到'TR'上嗎? – timidboy

+0

@timidboy呃,固定。 –

+0

嗨約阿希姆,我應該在腳本中放置它。感謝您的及時幫助 – TJTS

0

你可以只修改該位來顯示鏈接:

for (; i < l; ++i) 
{ 
    tr = document.createElement('tr'); //new row 
    tbod.appendChild(tr); 
    rowdata = data[i].split("|",6); //separate bits 
    for (ii = 0, ll = rowdata.length; ii < ll; ++ii) 
    { 
     td = document.createElement('td'); //new cell 
     td.appendChild(document.createTextNode(rowdata[ii])); 
     tr.appendChild(td); 
    } 
    td = document.createElement('td') //column 6 cell 
    td.appendChild(document.createTextNode('<a href="http://locahost/file-' + rowdata[0] + '.pdf"> Link text here </a>')); 
    tr.appendChild(td); 
} 
+0

「用戶可以單擊以打開文件的超鏈接」在哪裏? – timidboy

+0

大聲笑..錯過標籤本身看上面的例子..現在編輯..感謝評論:) –

+0

嗨Ritik Khatwani,謝謝!它按預期工作。我可能錯過了一些東西,我修改了我的帖子。 – TJTS

相關問題