2011-07-12 38 views
1

我設立一個表的一些基本的分頁,我有以下JS功能:HTML通過傳遞鏈路信息JavaScript方法

function AddPagination() { 
    var paginationDiv = document.getElementById("pagination"); 
    for (i = 0; i < 3; ++i) { 
     var page = document.createElement("a"); 
     page.innerHTML = i + 1; 
     page.setAttribute("title", i + 1); 
     page.setAttribute("href", "javascript:RenderResultTable(this.innerHTML)"); 
     paginationDiv.appendChild(page); 
    } 
} 

我想要做的就是通頁碼點擊到RenderResultTable方法。我將這個數字存儲爲link元素的innerHTML和標題,我怎樣才能通過使用上面的代碼來獲得這個通過?

謝謝。

回答

1

個人而言,我不會使用JavaScript進行分頁,但如果這是您想要的方式,則需要使用一些字符串連接。我不確定RenderResultTable()是做什麼的,但你可以像這樣設置線條:

page.setAttribute("href", "javascript:RenderResultTable('" + page.innerHTML + "')"); 

我相信應該這樣做。

編輯:你不應該在你的循環中使用i++而不是++i?我認爲你現在所擁有的將會給2作爲第一個頁碼。如果我錯了,請糾正我。

編輯:page.innerHTML將需要通過此功能逃脫,然後轉義在RenderResultTable()功能。 escape()unescape()。這是爲了防止JavaScript注入和/或意外的錯誤。

+0

++我應該沒問題 - 其他地方有很多討論,爲什麼前或後增量在for循環中更高效(或不是),取決於語言。試試看:http://jsfiddle.net/samdutton/DpmhP/ –

+1

你可能想爲arg引用RenderResultTable,即''javascript:RenderResultTable('「+ page.innerHTML +」')「);'因爲你可能並不總是有一個數字作爲innerHTML – mrk

+0

謝謝。固定。 :) –