jQuery +UI + flexigrid做的一个用户管理界面,

本文描述了一个使用jQuery和Flexigrid插件构建的用户管理界面遇到的问题,主要是在IE浏览器下无法正常显示表格数据。作者尝试了多种解决办法,并分享了相关的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery 版本必须是最新的 1.2.6 否则就出错,我折腾了1天的UI.jQuery
目前症状为IE下不显示表格中的数据


[img]/upload/attachment/42528/b1b52731-b51c-31df-af14-cf4a83bfa15f.png[/img]

[img]/upload/attachment/42530/fec21770-b970-3fe1-a6a7-c66c577aba20.png[/img]

[img]/upload/attachment/42532/aee6137d-e5c6-3746-a06f-7ce4a3674318.png[/img]


list.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>会员管理</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../resources/css/jq/default/ui.all.css">
<link rel="stylesheet" type="text/css" href="../resources/css/flexigrid/flexigrid.css">
<script type="text/javascript" src="../resources/js/jquery.js"></script>
<script type="text/javascript" src="../resources/js/jquery.ui.all.js"></script>
<script type="text/javascript" src="../resources/js/jquery.form.js"></script>
<script type="text/javascript" src="../resources/js/flexigrid.js"></script>
<script type="text/javascript" src="../resources/js/manage_user.js"></script>
<style>

.flexigrid div.fbutton .add
{
background: url(../resources/css/images/add.png) no-repeat center left;
}

.flexigrid div.fbutton .delete
{
background: url(../resources/css/images/close.png) no-repeat center left;
}

</style>
</head>
<body>
<!--
<div id="grid"></div>
<div id="panle" style="display:none;">
-->
<!-- 据lichuhui大大说改成table就可以,我这没IE测试不了 -->
<table id="grid"></table>
<table id='panle' style='display:none'/>
<div id="dialog_div">
<form action="?module=user&act=insertorupdate" id="dialog_form">
<input type="hidden" name="MemberID"/>
登录名:<input type="text" name="UserName"/><br/>
密码:<input type="password" name="PassWord"/><br/>
真实名称:<input type="text" name="LinkMan"/><br/>
联系电话:<input type="text" name="OperateTel"/><br/>
Email:<input type="text" name="Email"/><br/>
</form>
</div>
</div>
</body>
</html>



manage_user.js

$(function(){
$('#dialog_div').dialog({
hide:'', //点击关闭是隐藏,如果不加这项,关闭弹窗后再点就会出错.
autoOpen:false,
height:250,
modal:true, //蒙层
title:'个人用户管理',
overlay: {
opacity: 0.5,
background: "black"
},
buttons:{
'提交':function(){
addUser();
},
'取消':function(){
$(this).dialog("close");
},
'重置':function(){
$(this).children('form')[0].reset();
}
}
});
$('#grid').flexigrid({
url: '?module=user&act=list&isajax=1',
dataType: 'json',
colModel : [
{
display: 'id',
name : 'MemberID',
width:50, //得加上 要不IE报错
hide:true
},
{
display: '登录名',
name : 'UserName',
width : 150,
sortable : true,
align: 'center'
},
{
display: '密码',
name : 'PassWord',
width : 150,
hide:true
},
{
display: '真实姓名',
name : 'LinkMan',
width : 100,
sortable : true,
align: 'left'
},

{
display: '联系电话',
name : 'OperateTel',
width : 150,
sortable : true,
align: 'left'
},

{
display: 'Email',
name : 'Email',
width : 250,
sortable : true,
align: 'left'
}
],
buttons : [
{
name: '添加',
bclass: 'add',
onpress : call
},
{
name: '修改',
bclass: 'add',
onpress : call
},
{
name: '删除',
bclass: 'delete',
onpress : call
},

{
separator: true
}
],
searchitems : [
{
display: '登录名',
name : 'UserName'
},

{
display: 'Email',
name : 'Email'
}
],
sortname: "memberid",
sortorder: "asc",
usepager: true,
title: '用户管理',
useRp: true,
rp: 20,
showTableToggleBtn: true,
width: 750,
height: 400

});

});

/**
* 更新用户
*/
function call(com,grid) {
switch (com) {
case '添加':
$('#dialog_div').dialog('open').children('form')[0].reset();
break;
case '修改':
selected_count=$('.trSelected',grid).length;
if (selected_count==0) {
alert('请选择一条记录');
return;
}
if(selected_count>1){
alert('抱歉只能同时修改一条');
return;
}
data=new Array();
$('.trSelected td',grid).each(function(i){
data[i]=$(this).children('div').text();
});
form=$('#dialog_div').dialog('open').children('form');
form.children('input[name=MemberID]').val(data[0]);
form.children('input[name=UserName]').val(data[1]);
form.children('input[name=PassWord]').val(data[2]);
form.children('input[name=LinkMan]').val(data[3]);
form.children('input[name=OperateTel]').val(data[4]);
form.children('input[name=Email]').val(data[5]);
$('#dialog_div').dialog('open');
break;
case '删除':
names='';
$('.trSelected td:nth-child(2) div',grid).each(function(i){
if(i)names+=',';
names+=$(this).text();
});
ids='';
$('.trSelected td:nth-child(1) div',grid).each(function(i){
if(i)ids+=',';
ids+=$(this).text();
})
if(confirm("确定删除用户["+names+"]?")){
delUser(ids);
}
break;

}

}

function addUser(){
$('#dialog_form').ajaxSubmit({
type:'POST',
dataType:'json',
resetForm:true,
success:function(){
$('#grid').flexReload();
}
});

}
function delUser(ids){
$.ajax({
url:'?module=user&act=delete',
data:{
MemberID:ids
},
type:'POST',
dataType:'json',
success:function(){
$('#grid').flexReload();
}
});

}


user.php 的部分

function onList(){
$in = &$this->in;
$tpl = &$this->tpl;
$dataset = &$this->objDataSet;
$isAjax = $in['isajax'];
$page = $_POST['page'];
$rp = $_POST['rp'];
$sortname = $_POST['sortname'];
$sortorder = $_POST['sortorder'];

if (!$sortname) $sortname = 'MemberID';
if (!$sortorder) $sortorder = 'desc';

$sort = "ORDER BY $sortname $sortorder";

if (!$page) $page = 1;
if (!$rp) $rp = 10;

$start = (($page-1) * $rp);

$limit = "LIMIT $start, $rp ";

$sql="select MemberID,UserName,PassWord,LinkMan,OperateTel,Email from user $sort";

$total=$dataset->runSql("select count(*) as total from user");
$total=(int)$total['total'];

$result=$dataset->getLista($sql,$rp,$start);
// $this->fp->fb($result);
$ret="{'page':$page,'total':$total,'rows':[";
foreach($result as $key=>$row){
if($key>0)$ret.=",";
$ret.="{'id':".$row[MemberID].",";
$ret.="'cell':[";
$i=0;
foreach($row as $k=>$val){
if($i)$ret.=",";
$ret.="'".$val."'";
$i++;
}
$ret.="]}";
}
$ret.="]}";
if($isAjax){
$tpl->assign('ret',$ret);
$tpl->display('./rep.json');
}else{
// $tpl->assign('entities',$result);
$tpl->display(SKIN_FILE.'user/list.html');
}
}

//会员添加
function onInsertOrUpdate(){
$in = &$this->in;
$tpl = &$this->tpl;
$dataset = &$this->objDataSet;

$data = array(
UserName => trim($in[UserName]),
PassWord => $in[PassWord],
Email => trim($in[Email]),
OperateTel => trim($in[OperateTel]),
LinkMan => trim($in[LinkMan]),
CreateTime => time(),
);
if(!empty($in['MemberID'])){
$MemberID = $dataset->update($data,"MemberID=".$in['MemberID'],"user");
}else{
$data['PassWord']=md5($data['PassWord']);
$MemberID = $dataset->insert($data,"user");
}

$ret=json_encode(array('succees'=>true,'msg'=>'更新成功!'));
$tpl->assign('ret',$ret);
$tpl->display('./rep.json');
}

function onDelete(){
$in = &$this->in;
$tpl = &$this->tpl;
$dataset = &$this->objDataSet;
$dataset->delete("MemberID in(0,".$in['MemberID'].")",'user');
$ret=json_encode(array('succees'=>true,'msg'=>'删除成功!'));
$tpl->assign('ret',$ret);
$tpl->display('./rep.json');
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值