解决方案 »
- 我这个怎么做比较好呢?
- 跪求:关于双网卡下httpd.conf配置的问题
- 配置PHP5+APACHE2.2,竟然打不开php页面,而是下载,这是为什么?
- 本地机器上可以使用exec()函数,但是到了服务器上就不能执行该函数
- xhtml中<a href="?p1=..&p2=.." 不能加两个以上的参数?
- php好学吗?
- php安全问题 请大家说说
- 在php中 ,如何才能向asp中使用server.mappath("default.php")得到网站的物理目录?
- 用SAJAX做的留言本在IE下不兼容,急~~~~`
- 怎样把一个二 维数组里的值一个一个显示出来??
- #!/usr/bin/php 如何不显示在网页中
- Windows下浏览Linux服务器端的静态文字出现奇怪乱码
至于刷新页面打开慢,确实可以用ajax来解决不过200行显示起来有这么慢吗?
你不会弄了200个层吧。改成一个。全部调这一个就好了。
200行不多。用 name="data[]"
你不会弄了200个层吧。改成一个。全部调这一个就好了。要是鼠标单击单元格,弹出一个层,层里可以获得点击的单元格的行、列信息,还有个文本框可以输入数值,然后提交,怎样动态生成这个层,能写个简单的代码实现一下吗?谢谢我原来的做法就是把每个单元格对应的层都写出来,然后隐藏起来,鼠标单击单元格时再显示出来。所以网页载入速度就特别慢。
谁能提供一个简单的代码实现,太感谢了,我baidu了,没找到类似的。
<table>
<tr>
<td data-id="1" data-key-id="key1" class="eidt-td">Nihao</td>
</tr>
</table>
$('.edit-td').edittd(function(){
var that = $(this);
var id=that.attr('data-id');
var kid = that.attr('data-key-id')
//处理若逻辑
//$.post()
});
<table>
<tr>
<td data-id="1" data-key-id="key1" class="eidt-td">Nihao</td>
</tr>
</table>
$('.edit-td').edittd(function(){
var that = $(this);
var id=that.attr('data-id');
var kid = that.attr('data-key-id')
//处理若逻辑
//$.post()
});
假设表格如下:
<table><tr><td btn="11">第一列第一行</td></tr></table>如果使用jquery代码,如下:
$(function(){
$('td').bind('click',function(){
var zuobiao = $(this).attr('btn');
if(zuobiao){//如果存在坐标,就处理
$(this).html('<input onblur="changes(this)" name="" value="'+$(this).text+'" />')
}
})
})
思路差不多这样,然后写一个ajax提交,当然还要做处理,比如防止重复点击
function changes(obj){
var name=$(obj).val();
$.post()//然后post表单
}
HTML...
<table id="rowed2"></table>
<div id="prowed2"></div>
<br /><script src="rowedex2.js" type="text/javascript"> </script>Java Scrpt code...
jQuery("#rowed2").jqGrid({
url:'server.php?q=3',
datatype: "json",
colNames:['Actions','Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'act',index:'act', width:75,sortable:false},
{name:'id',index:'id', width:55},
{name:'invdate',index:'invdate', width:90, editable:true},
{name:'name',index:'name', width:100,editable:true},
{name:'amount',index:'amount', width:80, align:"right",editable:true},
{name:'tax',index:'tax', width:80, align:"right",editable:true},
{name:'total',index:'total', width:80,align:"right",editable:true},
{name:'note',index:'note', width:150, sortable:false,editable:true}
],
rowNum:10,
rowList:[10,20,30],
pager: '#prowed2',
sortname: 'id',
viewrecords: true,
sortorder: "desc",
gridComplete: function(){
var ids = jQuery("#rowed2").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
var cl = ids[i];
be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=\"jQuery('#rowed2').editRow('"+cl+"');\" />";
se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('"+cl+"');\" />";
ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('"+cl+"');\" />";
jQuery("#rowed2").jqGrid('setRowData',ids[i],{act:be+se+ce});
}
},
editurl: "server.php",
caption:"Custom edit "
});
jQuery("#rowed2").jqGrid('navGrid',"#prowed2",{edit:false,add:false,del:false});PHP with MySQL...
$page = $_GET['page']; // get the requested page
$limit = $_GET['rows']; // get how many rows we want to have into the grid
$sidx = $_GET['sidx']; // get index row - i.e. user click to sort
$sord = $_GET['sord']; // get the direction
if(!$sidx) $sidx =1;
// connect to the database
$db = mysql_connect($dbhost, $dbuser, $dbpassword)
or die("Connection Error: " . mysql_error());mysql_select_db($database) or die("Error conecting to db.");
$result = mysql_query("SELECT COUNT(*) AS count FROM invheader a, clients b WHERE a.client_id=b.client_id");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];if( $count >0 ) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
if ($page > $total_pages) $page=$total_pages;
$start = $limit*$page - $limit; // do not put $limit*($page - 1)
$SQL = "SELECT a.id, a.invdate, b.name, a.amount,a.tax,a.total,a.note FROM invheader a, clients b WHERE a.client_id=b.client_id ORDER BY $sidx $sord LIMIT $start , $limit";
$result = mysql_query( $SQL ) or die("Couldn t execute query.".mysql_error());$responce->page = $page;
$responce->total = $total_pages;
$responce->records = $count;
$i=0;
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
$responce->rows[$i]['id']=$row[id];
$responce->rows[$i]['cell']=array("",$row[id],$row[invdate],$row[name],$row[amount],$row[tax],$row[total],$row[note]);
$i++;
}
echo json_encode($responce);