具體的問題在這個(非常長的)前導碼的末尾。對不起,我試圖讓它儘可能短。 (花了一個多小時才寫出問題)。PHP內的HTML表格內的嵌入式php ...不會觸發
.php文件使用(php)函數讀取SQL數據庫中的行並動態創建HTML表。
對於每一行,該SQL數據經由$book['id']
,$book['code']
,$book['description']
返回等
的$書[「代碼」]是一個兩字符的字母數字標識,例如。 B7或DW
在每行的HTML中,有一個<td></td>
,其中包含一個具有運行JQuery腳本(顯示/隱藏該行的元素)的onclick = event的錨標記。
假設一對夫婦或行點擊了一對夫婦的元素被嵌入的jQuery腳本(這是正常工作,順便說一句)
當用戶瀏覽不同的網頁,然後返回到這個隱藏,隱藏的元素(被JQuery腳本隱藏)不再隱藏。
我希望爲每個點擊行保留一串$book['code']
值,並在返回第一頁時解析該字符串以重置隱藏元素。
<?php
function render_row_from_mysql() {
$output .= '
...create header row...
foreach ($books as $book)
{
create table row cells 1, 2, 3, 4
after cell 4:
<td>
<a id="addToShelf.php" onclick="
jQuery.ajax(\'./addToShelf.php?id='.$book['id'].'ats'.'\');
jQuery(addToShelfLink'.$book['id'].')[0].style.display = \'none\';
jQuery(rfs'.$book['id'].')[0].style.display = \'block\';
jQuery(mt'.$book['id'].')[0].style.display = \'none\';
jQuery(grn'.$book['id'].')[0].style.display = \'block\';
return false;
">
add to bookshelf
</a>
</td></tr>' ;
}
}
問題:
爲什麼不jQuery代碼之上,這正常工作,需要關閉括號?
什麼是創建/更新變種,在錨標記語法,這將保持累計點擊行的數據?我問,因爲我的許多嘗試都破壞了代碼。
如果該變種在函數的頂部被初始化,foreach循環之前?
我嘗試使用PHP通過在「返回false;」之後插入以下代碼來創建/更新cookie。 (見下文)。下面的php代碼確實創建一個cookie時粘貼到一個單獨的腳本進行測試。)PHP代碼不會觸發。爲什麼?
如果你將php和jquery代碼分開,它可能會更容易。而不是在標籤中寫入onclick,只需添加並在類文件中添加並註冊click事件...可能會使調試變得更容易。 – 2011-03-27 18:35:17