解决方案 »
- 小弟请教一个问题 php 字符串变形与还原问题
- 正则式取得的数组怎么转为字符串
- 刚刚才学习php的时间函数。问一下,mktime(0,0,0,1,1,1970) 这个不是应该返回 0 吗? 为什么我测试返回 -32400, 这个数怎么来的?
- echo $avg = round($result[0],2);怎么实现大于0才显示?
- php 如何得到一个 domain 的 dns 主机的 ip ?
- php連接access錯誤!
- 简单问题啊..快来捡分
- 怎样将excel中数据导入mysql!
- 在网页中只刷新数据而不刷新页面如何实现?
- 关于php模板问题,在线等待,急.
- #!/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);