Jquery 在列表的顶部和底部进行两页导航
我正在创建一个简单的PHP页面,它读取CSV文件内容,并在页面中向用户显示一些选定的列 目前,我正在阅读每一行并立即显示它。由于这种方法,我只知道在读完整个文件(也在文件中搜索)后的行总数。 我想要的是在列表的顶部和底部显示两个页面导航。像这样: 第1页| 2 | 3 | 4Jquery 在列表的顶部和底部进行两页导航,jquery,html,internet-explorer,Jquery,Html,Internet Explorer,我正在创建一个简单的PHP页面,它读取CSV文件内容,并在页面中向用户显示一些选定的列 目前,我正在阅读每一行并立即显示它。由于这种方法,我只知道在读完整个文件(也在文件中搜索)后的行总数。 我想要的是在列表的顶部和底部显示两个页面导航。像这样: 第1页| 2 | 3 | 4 字段1 |字段2 |字段3 |字段4 |字段5….字段n 第1行 第2行 罗恩 第1页| 2 | 3 | 4 在显示所有行、底部页面导航之后,我使用jquery函数:insertBefore将另一个页面导航插入顶部
字段1 |字段2 |字段3 |字段4 |字段5….字段n 第1行 第2行 罗恩
第1页| 2 | 3 | 4 在显示所有行、底部页面导航之后,我使用jquery函数:insertBefore将另一个页面导航插入顶部 问题是: 1) 首页导航未在IE8中显示,但按F5后显示(在FF、Chrome中工作) 2) 使用insertBefore功能,在显示底部页面后,顶部页面导航会突然弹出。它看起来不自然 有什么建议吗 源代码: 为了简单起见,我重写了这两个简单的源文件。
-FileList.php:列出所有csv文件
-DisplayInList.php:显示CSV文件内容 顺便说一下:我已经通过更改FileList.php中的jquery代码解决了这个问题
FileList.php
<?php
echo "<script type=\"text/javascript\">\n";
echo "$(document).ready(function(){\n";
echo "$('a[name=dlink]').click(function(e) {\n";
echo " e.preventDefault();\n";
echo " var href = $(this).attr('href');\n";
echo " $.post('DisplayInList.php',{href:href}, function(response)\n";
echo " list_window = window.open()\n";
echo " list_window.document.write(response);\n";
echo " list_window.focus();\n";
echo " list_window.document.close();\n";
echo " });\n";
echo " });\n";
echo "});\n";
echo "</script>\n";
//add CSV file link here
foreach($file_list as $f){
$display_name = "WHATEVER";
echo "<TR><TD><a name=\"dlink\" href=",pathinfo($f,PATHINFO_FILENAME),">",$disp_name,"</a></TD>\n";
}
?>
DisplayInList.php
<?php
echo "<div id=\"paging_tag\"></div>\n";
if (($handle = fopen($csv_file, "r")) !== FALSE){
$display_cnt = 0;
while (($line = fgetcsv($handle, 10000, ",")) !== FALSE){
$found = {Check search conditions};
if ( $found == true ){
$display_cnt++;
//Display line to client
echo "Selected fields of a csv line to user";
}
}
fclose($handle);
}
if ( $display_cnt > 0 ){
echo "<p id=\"paging\"><span>PREVIOUS</span> Page 1 | Page 2 | Page 3<span>NEXT</span></p>";
}
echo "<script type=\"text/javascript\">\n";
echo "$('#paging')\n";
echo " .insertBefore('#paging_tag');\n";
echo "</script>";
?>
FileList.php
使用js构建UI是优先级最低的方法。只要有可能使用服务器端和HTML/CSS方法,就避免使用javascript
我建议使用PHP,例如:
$pagerHtml = 'do some code here';
print $pagerHtml; //the first place on top
/*
...
output HTML between the two pager lines
...
*/
print $pagerHtml //the bottom pager line
你能提供一些源代码吗?谢谢你的评论。添加了示例原始代码。并通过将:[echo“\n”]更改为使用隐藏字段提交解决了此问题。谢谢。但很抱歉我解释得不好。我实际上使用了PHP。我添加了原始的示例代码。顺便说一句,我已经解决了这个问题